|  在技术加营销的道路上越走越远
温馨提示
我是弹窗内容
当前位置:首页 > 运维和安全 > 解决批处理(bat)中文乱码的问题
解决批处理(bat)中文乱码的问题

解决批处理(bat)中文乱码的问题

日期:2023-01-13 浏览量:481 原创作者:湖八爷
我发现几乎所有用过批处理脚本的小伙伴都会遇到中文乱码这个问题,我也遇到过好几次,刚好今天又碰到了这个问题,看来还是很有必要在博客分享一下解决方案。


一,批处理乱码的原因。

一提到乱码,我们首先想到的肯定是编码的问题,没错,就是编码的问题。

说得更准确一点,就是在编写批处理脚本时用的编码和批处理脚本执行时候的编码不一致导致的乱码问题


如果想了解透彻,我们只需要搞懂以下这几个问题即可。


1问:批处理脚本由谁来运行?

答:在Windows系统中,批处理脚本是由cmd.exe,也就是命令行来执行的。


2问:执行批处理脚本的命令行用的是什么编码?

答:cmd.exe应用程序采用ANSI编码。


3问:什么是ANSI编码?

答:在Windows操作系统中,为了使计算机支持多种语言,例如简体中文,繁体中文,日文,韩文等等国家的语言文字,系统定义了一个叫做 ANSI 的字符代码,这个字符代码会根据操作系统设置的语言环境来执行对应的编码标准,比如在简体中文Windows操作系统中,ANSI 编码代表 GB2312编码;在繁体中文Windows操作系统中,ANSI编码代表Big5;在日文Windows操作系统中,ANSI 编码代表 JIS 编码。


4问:编写批处理脚本时用得是什么编码?

答:通常我们在编写批处理脚本的时候是新建一个文本文档,在文档中编写完命令以后,再更改文件的后缀为.bat。

采用这种方式编写的批处理脚本文件一般都是UTF-8编码格式。


综合上面1,2,3,4个问答,你发现啥问题的吗?很明显,2和4用到的编码不一致,那肯定会出现乱码的问题。



二,批处理乱码的解决方案。

只需要将批处理脚本的编码更改为 ANSI 编码即可。


更改编码为ANSI编码.png


注意:更改为 ANSI 编码后,批处理脚本文件中的文字可能会变成乱码,只需要把乱码文字删除重写即可正常运行。