Windows下CMD中文乱码问题解决方法
- 命令: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,则表示显示MSDOS 美国英语,而中文显示将会是?。
MSDOS为以下国家和语言提供字符集:
代码页描述
1258 | 越南语 |
1257 | 波罗的语 |
1256 | 阿拉伯语 |
1255 | 希伯来语 |
1254 | 土耳其语 |
1253 | 希腊语 |
1252 | 拉丁 1 字符 (ANSI) |
1251 | 西里尔语 |
1250 | 中欧语言 |
950 | 繁体中文 |
949 | 朝鲜语 |
936 | 简体中文(默认) |
932 | 日语 |
874 | 泰国语 |
850 | 多语种 (MSDOS Latin1) |
437 | MSDOS 美国英语 |
//补充
dos指令:
chcp 65001 就是换成UTF8代码页
chcp 936 可以换回默认的GBK
chcp 437 是美国英语
如何在DOS窗口中显示UTF8字符
在中文Windows系统中,如果一个文本文件是UTF8编码的,那么在CMD.exe命令行窗口(所谓的DOS窗口)中不能正确显示文件中的内容。在默认情况下,命令行窗口中使用的代码页是中文或者美国的,即编码是中文字符集或者西文字符集。如果想正确显示UTF8字符,可以按照以下步骤操作:
1、打开CMD.exe命令行窗口
2、通过 chcp命令改变代码页,UTF8的代码页为65001
chcp 65001
执行该操作后,代码页就被变成UTF8了。但是,在窗口中仍旧不能正确显示UTF8字符。
3、修改窗口属性,改变字体
在命令行标题栏上点击右键,选择”属性”>”字体”,将字体修改为True Type字体”Lucida Console”,然后点击确定将属性应用到当前窗口。
这时使用type命令就可以显示UTF8文本文件的内容了:
type filename.txt
4、通过以上操作并不能完全解决问题,因为显示出来的内容有可能不完全。可以先最小化,然后最大化命令行窗口,文件的内容就完整的显示出来了。