首先想到的就是dos输出是用系统的默认编码(gbk)的,我文件可是使用UTF-8编写的,肯定会出乱码楼。当时的想法就是在批处理文件中手动设置临时编码来进行输出,可是对这块不了解,百度吧,关键字:dos中设置编码,结果还真的有人遇到了这样的问题,不过是在做 PHP项目中出现的,但是我也一样可以借用,呵呵。原来 系统会有很多的字体代码的,在执行批处理前设置一下就OK了,命令如下: chcp 65001 问题就解决了,65001是UTF-8的代码页,其他如下: MS-DOS为以下国家和语言提供字符集:代码页描述 936 简体中文(默认) 950 繁体中文 65001 UTF-8 1258 越南语 1257 波罗的语 1256 阿拉伯语 1255 希伯来语 1254 土耳其语 1253 希腊语 1252 拉丁 1 字符 (ANSI) 1251 西里尔语 1250 中欧语言 949 朝鲜语 932 日语 874 泰国语 850 多语种 (MS-DOS Latin1) 437 MS-DOS 美国英语 以上就是本次编写批处理命令中遇到的比较特殊的问题,以此记录,以备后用。 注:编写的批处理命令我在顶端空出来一行,才能使 chcp 65001 生效,这应该是和UTF-8文件有无BOM编码格式有关,我选择的是UTF-8有BOM编码格式保存的文件。
|