window下cmd显示乱码

Posted !win !

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了window下cmd显示乱码相关的知识,希望对你有一定的参考价值。

前情


最近在维护一些老项目,本地开发环境跑不起来,需要根据cmd中的报错来解决一些环境问题

坑位


在解决环境错误的时候,cmd命令行日志打印出来的是一堆乱码,导致看不清具体是什么错误

Why?


cmd行打印的日志乱码,很大可能是因为cmd命令行窗口字符编码不匹配导致

解决方案


方式1:命令行中执行:chcp 65001

chcp是一个计算机指令,能够显示或设置活动代码页编号

代码页 描述
65001 UTF-8代码页
950 繁体中文
936 简体中文默认的GBK
437 MS-DOS 美国英语

但是这只是临时方案,chcp只对当前窗体有效,窗体关闭或重开都会失效,每次都要重新切换

方式2:修改注册表达到永久生效

window + r打开运行框,输入regedit,进入注册表,找到HKEY_CURRENT_USER\\Console%SystemRoot%_system32_cmd.exe,新建一个 DWORD(32位值),命名为CodePage,值设为65001,已有CodePage的话,修改它,改为十进制,65001

方式3:也是修改注册表的方式,但是相比2要方便一些,新建一个后辍为.reg的文件,通过记事本新建一个.txt文件,再修改后辍为.reg,内容如下:

Windows Registry Editor Version 5.00 
[HKEY_CURRENT_USER\\Console\\%SystemRoot%_system32_cmd.exe] 
"CodePage"=dword:0000fde9 
"FontFamily"=dword:00000036 
"FontWeight"=dword:00000190 
"FaceName"="Consolas" 
"ScreenBufferSize"=dword:232900d2 
"WindowSize"=dword:002b00d2

保存后,再双击该文件即可

基于Windows环境下cmd/编译器无法输入中文,显示中文乱码解决方案

基于Windows环境下cmd/编译器无法输入中文,显示中文乱码解决方案  

        两个月前做C++课设的时候,电脑编译器编译结果出现了中文乱码,寻求了百度和大神们,都没有解决这个问题,百度上一堆解释是对编译器进行设置之类的,结果没有一个有效果,暑假学习了用Dos来开发Java程序,输入cmd命令中dir(directory)进行查询操作时,显示了一堆中文乱码,原本是想重装系统的,因为电脑里面重要东西有点多,所以自己花了一段时间捣鼓了一下电脑,终于解决了如上两个问题,现在心里很开心,附上如下两幅图:

cmd查询界面:(中文)

Codeblocks编译界面:(中文显示)

具体是怎么做到的呢,请继续往下看:

cmd出毛病一般在cmd中找原因,也可以用regedit,也就是注册表解决。

看完这篇,也可以对cmd和regedit近一步了解。以下是个人经验之谈,仅做参考,不代表官方意见。

具体解决方案:

1.右击cmd窗口,点默认值。在选项默认代码页,选择936

2、cmd中输入:

chcp 936

注:chcp命令用于显示或设置活动代码页编号。

3、新建文本,复制粘贴以下代码,把文件类型改成reg :Windows Registry Editor Version 5.00 [HKEY_CURRENT_USER\\Console\\%SystemRoot%_system32_cmd.exe] "CodePage"=dword:000003a8

之后双击运行。点是。

4、运行regedit,打开注册表。

HKEY_CURRENT_USER\\Console\\%SystemRoot%_system32_cmd.exe中找到CodePage

双击打开CodePage,输入3a8

做完以上四步,我相信你已经成功了解决乱码问题了!一点点技术之谈,以后还会分享更多经验文章给大家的!

以上是关于window下cmd显示乱码的主要内容,如果未能解决你的问题,请参考以下文章

Python的raw_input语句包含中文,在Windows环境CMD中显示乱码的解决方法

windows下中文正常,Linux下乱码

windows下git中sh.exe中文显示乱码问题解决

windows下git中sh.exe中文显示乱码问题解决

windows 控制台cmd乱码的解决办法

node调用cmd输出乱码解决方案