一、问题背景
在做Android的系统测试的过程中,通过shell命令cat系统里的文件时,中文字符出现乱码,搜索了一下网上,有了解决方案,今天系统的整理一下,我遇到的问题的现象如下:
二、临时解决方案
1、打开CMD.exe命令行窗口
2、通过 chcp命令改变代码页,UTF-8的代码页为65001
chcp 65001
执行该操作后,代码页就被变成UTF-8了。
注意:上述方式只会在当前cmd窗口的确可以解决问题,但是重新打开的cmd窗口或者power shell 窗口仍然不能正确显示汉字。
三、终极解决方案(通过修改注册表)
1. win+R 输入regedit 进入注册表
2. 找到 HKEY_CURRENT_USER\Console\%SystemRoot%_system32_cmd.exe 如果 该项下已存在CodePage项,则把值改为十进制”65001”;如果不存在,在该项下新建一个 DWORD(32位值),命名为“CodePage”,值设为“65001”
3. 重启cmd后生效
4. 对于Power shell修改同样,只需在第2步修改
%SystemRoot%_system32_WindowsPowerShell_v1.0_powershell.exe 下的项。
示意图如下:
一、问题背景
在做Android的系统测试的过程中,通过shell命令cat系统里的文件时,中文字符出现乱码,搜索了一下网上,有了解决方案,今天系统的整理一下,我遇到的问题的现象如下:
二、临时解决方案
1、打开CMD.exe命令行窗口
2、通过 chcp命令改变代码页,UTF-8的代码页为65001
chcp 65001
执行该操作后,代码页就被变成UTF-8了。
注意:上述方式只会在当前cmd窗口的确可以解决问题,但是重新打开的cmd窗口或者power shell 窗口仍然不能正确显示汉字。
三、终极解决方案(通过修改注册表)
1. win+R 输入regedit 进入注册表
2. 找到 HKEY_CURRENT_USER\Console\%SystemRoot%_system32_cmd.exe 如果 该项下已存在CodePage项,则把值改为十进制”65001”;如果不存在,在该项下新建一个 DWORD(32位值),命名为“CodePage”,值设为“65001”
3. 重启cmd后生效
4. 对于Power shell修改同样,只需在第2步修改
%SystemRoot%_system32_WindowsPowerShell_v1.0_powershell.exe 下的项。
示意图如下: