- 在程序开发中我们统一的编码是 UTF-8,有时候会用到命令提示符(cmd)窗口进行编写,window 下使用控制台执行 一些自己编写的程序,或者是进行交互式编程的时候会经常遇到乱码问题。
- 这是因为Window cmd的默认编码是GBK。与程序采用的 UTF-8 不一致造成的中文及特殊字符乱码。
- 本机环境
先了解常用的编码及对应的码值(10进制):
十进制码值 | 对应编码名称 |
---|---|
950 | 繁体中文 |
65001 | UTF-8代码页 |
936 | 简体中文默认的GBK |
437 | MS-DOS 美国英语 |
第一种解决方法(临时)
使用 chcp 命令,例如改为utf-8编码就运行
chcp 65001
不过这种方式在关闭 cmd 之后会自动失效。
二、第二种方法(永久性)
- 永久修改就是通过修改注册表(Registry)
- 打开注册表方法:win+R”或者点击开始菜单,找到运行,在运行输入框里面输入“regedit”;或者直接打开C:\Windows\System32目录中找到“regedt32.exe”
定位到:HKEY_CURRENT_USER\Console%SystemRoot%_system32_cmd.exe里面的 CodePage然后先择十进制。编码参考上边。
还可以自己写一个reg文件来,有需要的可参考此链接