cmd执行linux脚本包含汉字时提示invalid multibyte character ,导致linux上的命令不能按照预期执行,检查发现cmd的编码方式为gbk,查询发现可以通过命令chcp显示或设置活动代码页编号(修改默认值可以通过注册表的方式)
语法:CHCP [nnn]
nnn 指定代码页编号
不加参数键入 CHCP 显示活动代码页编号
nnn指定一已有的系统字符集,该字符集在CONFIG.SYS文件中由COUNTRY命令定义。
在DOS下可以通过mode命令来设置代码页。
选定代码页: MODE CON[:] CP SELECT=yyy
代码页状态: MODE CON[:] CP [/STATUS]
按Windows+R组合键,然后输入cmd或者command打开命令提示符。
比如输入:mode con cp select=936,则表示显示简体中文。如果输入mode con cp select=437,则表示显示MS-DOS 美国英语,而中文显示将会是?。
MS-DOS为以下国家和语言提供字符集:
65001 UTF-8
1258 越南语
1257 波罗的语
1256 阿拉伯语
1255 希伯来语
1254 土耳其语
1253 希腊语
1252 拉丁 1 字符 (ANSI)
1251 西里尔语
1250 中欧语言
950 繁体中文
949 朝鲜语
936 简体中文(默认)
932 日语
874 泰国语
850 多语种 (MS-DOS Latin1)
437 MS-DOS 美国英语