Windows下的CMD窗口默认是采用非UTF-8编码的,有时候运行一些UTF-8编写的批处理文件在控制台中的输出就是乱码,windows
CHCP是MD DOS中的命令,用来显示或设置活动代码页编号的。用法是:
CHCP [num]
其中num指定的是代码页的编号。这个参数是可选的,若是,在默认的cmd窗口中,咱们只输入chcp,显示的将相似:
活动的代码页: 936 字体
其中 936就是各类编码语言的的编号.编码
如下是几种经常使用的编码:
936 GBK(通常状况下为默认编码)
437 美国英语
65001 utf-8.net
要设置CMD窗口编码格式为UTF-8:命令行
1.运行CMD
2.在命令行中输入 chcp 65001 回车, 控制台会切换到新的代码页. blog
3.在标题栏点击右键, 打开属性面板, 会看到”选项”标签页下方显示”当前代码页”的编码. 而后选择”字体”标签页, 把字体设置为Lucia Console, 而后肯定关闭.utf-8
若是要设置回默认编码:
1.运行CMD ci
2.在命令行中输入 chcp 936 回车, 控制台会切换到新的代码页. get
3.这时该代码页的编码已经换为默认, 但能够关闭后从新打开仍是其余编码,能够在标题栏点击右键, 打开属性面板, 选择”选项”标签页, 选中”丢弃旧的副本”多选项, 而后肯定关闭.cmd
以上内容转载自:
https://blog.csdn.net/iway_lch/article/details/50408796
这样设置有个问题是:
若是步骤1.运行CMD窗口是经过开始菜单里启动的,那么会出现:
若是先启动CMD窗口,而后运行UTF-8编码格式bat文件,不会输出乱码;
若是直接双击UTF-8编码格式bat文件运行,启动的CMD窗口编码仍为windows默认,仍然会输出乱码.
解决办法是:
步骤1.运行CMD窗口 经过按住Shift+鼠标右键,启动CMD窗口,
使用命令chcp 65001后,右键CMD窗口标题栏,
修改属性里的字体和字体大小.
此时即便是双击UTF-8编码格式bat文件也不会输出乱码了.