在程序开发中我们统一的编码是 UTF-8,这一点很重要,但是总还是会遇到许多乱码问题,乱码的原因是多方面的,这里暂不过多总结。这里只说明在window下使用控制台执行 一些自己编写的程序,或者是进行交互式编程的时候会经常遇到乱码问题,这是因为Window cmd的默认编码是GBK。与程序采用的 UTF-8 不一致造成的中文及特殊字符乱码。
第一种:临时性修改编码
使用 chcp 命令,例如 chcp 65001 ,这回将当前代码页变为 utf-8编码,不过这种方式在关闭 cmd 之后会自动失效。
常用的编码及对应的码值(10进制):
| 十进制码值 | 对应编码名称 |
| 950 | 繁体中文 |
| 65001 | UTF-8代码页 |
| 936 | 简体中文默认的GBK |
| 437 | MS-DOS 美国英语 |
第二种:永久性修改
永久性修改就是通过修改注册注册表达到。
打开注册表方法:略
定位到:HKEY_CURRENT_USER\Console\%SystemRoot%_system32_cmd.exe
同理你也可以修改:powershell 的默认编码。如果有人因为权限问题无法修改的,可以右键左边选中的红框,选择权限,赋给自己完全控制的权限就OK了!