在windows环境下,我们用cmd打开一些bat脚本时,应该没少出现这种中文乱码的情况吧? 下面我们来看下具体原因和解决办法。

bat脚本内容:
@echo off
chcp 936
echo "你好.hello"
pause
这里有一个chcp 936, 代表当前活动页的代码为GBK, 如果是UTF-8,则对应chcp 65501。
常用的代码页编码映射:

如何查看自己系统的代码页编码?
直接在cmd中,执行chcp即可

乱码原因:
文件编码和活动代码页指定编码不一致

通过notepad可以看到,当前这个文件的编码是UTF-8,但我们指定的内容编码是936,即GBK,两者编码不一致,所以就乱码了!
解决办法:
让两者编码保持一致! 我们上面通过chcp查到了,当前的电脑活动代码页编码是936,即GBK,因此只需要修改文件编码为gbk即可(执行此操作,保存后可能原来的中文会变成乱码,因此注意提前备份一个,然后把乱码改成自己的备份的内容)
如何修改文件编码
以notepadd为例,操作如下:Endocing->Character sets -> Chinese -> GB2112, 然后保存(注意保存后,需要修正里面的乱码,改为正常的中文,即上面提到的备份内容),后面再重新执行,已经正常了:


1万+

被折叠的 条评论
为什么被折叠?



