CMD魔法堂:支持显示UTF8编码的中文

cmd命令行窗口显示中文乱码,多是因为cmd命令行窗口字符编码不匹配导致。

修改cmd窗口字符编码为UTF-8,命令行中执行:chcp 65001
切换回中文:chcp 936
这两条命令只在当前窗口生效,重启后恢复之前的编码。

切换cmd窗口字符编码有风险,例如切换过以后中文显示乱码,并且不能永久切换回原来模式,只能每次chcp 936。

cmd中文显示乱码永久解决方案,以切换回中文936为例:

打开不正常的 CMD命令提示符窗口后,单击窗口左上角的图标,选择弹出的菜单中的“默认值”,切换到第一个“选项”tab,将默认的代码页改为 936 后重启 CMD。重启cmd后还不能正常显示请继续往下看。

如果重启 CMD以后无法生效:窗口的“默认值”和“属性”没变,则进入注册表,在 HKEY_CURRENT_USER\Console下找到%SystemRoot%_system32_cmd.exe(如果没有codepage就不考虑了),codepage值改为 936(十进制)或 3a8(十六进制)。
936(十进制)是简体中文的,如是其它语言,则改为对应的代码。

部分字符编码对应代码:
65001——UTF-8
936——简体中文
950——繁体中文
437——美国/加拿大英语
932——日文
949——韩文
866——俄文

最后一个乱码原因:CMD 的“默认值”或“属性”窗口的“字体”选项卡中设定为可以显示中文字符的字体,并且确定字体文件没有被破坏,字体最好设置为默认的点阵字体。

时间: 2024-11-20 05:16:29

CMD魔法堂:支持显示UTF8编码的中文的相关文章

如何使cmd窗口正确显示utf-8编码的文字

在windows中,如何使用cmd命令行窗口正确显示编码为utf-8格式的文字呢? 正确的步骤如下: 1, 打开cmd命令行窗口 2, 输入命令 >chcp 65001 数字65001代表的是cmd窗口中utf-8格式的编码.cmd窗口默认编码为gbk,数字代码为936 D:\>chcp 65001 Active code page: 65001 3,在cmd窗口标题栏里右键点击,调出右键菜单,点击属性->字体,将字体改成Lucida Console, OK,可以正确显示utf-8编码的

Windows下VC++显示UTF-8编码中文

笔者在Windows下使用C++编写程序接收UTF8字符串会发生中文无法正常在console上显示的问题,故特来解决UTF8字符串如何在VC++上正常显示. 1.问题重现,UTF-8编码下的字符串“中文”在Windows下的显示如下图,其中上行为UTF8字符串,下行为GBK字符串: 2.方法:将UTF-8格式的代码变为GBK编码(需要Windows.h头文件) 1 string UTF8ToGBK(string &strUtf8) 2 { 3 string strOutGBK = "&q

PHP怎么把经过UTF-8编码的中文字符转换成正常的中文

问题的场景: html 为utf-8编码<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> form 产生一些中文输入项提交到后台: 后台通过file_get_contents('php://input');接收 使用var_dump,echo 等显示接收字符串为 utf-8形式,通过iconv()转换,结果依然如此: 后使用urldecode() 后,能正常显示中文.前

MySQL对JSON类型UTF-8编码导致中文乱码探讨

前言 继上文发表之后,结合评论意见并亲自验证最终发现是编码的问题,但是对于字符编码还是有点不解,于是乎,有了本文,我们来学习字符编码,在学习的过程中,我发现对于MySQL中JSON类型的编码导致数据中文出现乱码还有可深挖之处,接下来我们来分析一下,若有错误之处,还请批评指出. 字符编码 评论中指出任何不在基本多文本平面的Unicode字符,都无法使用MySQL的utf8字符集存储,包括Emoji 表情(Emoji 是一种特殊的Unicode 编码,常见于IOS和Android 手机上)和很多不常

CMD魔法堂:CMD进入指定目录

一.前言 每次打开cmd默认目录总是当前用户目录,然后是一大轮cd命令才进入工作目录,哎,怎一个烦自了得.幸好我们可以通过批处理文件来进入指定目录,省心多了. 二.cmd命令介绍   CMD [/A | /U] [/Q] [/D] [/E:ON | /E:OFF] [/F:ON | /F:OFF] [/V:ON | /V:OFF] [[/S] [/C | /K] string] /C 执行字符串指定的命令然后终断 /K 执行字符串指定的命令但保留 /S 在 /C 或 /K 后修改字符串处理(见下

php正则匹配utf-8编码的中文汉字

在javascript中,要判断字符串是中文是很简单的.比如: var str = "php编程"; if (/^[\u4e00-\u9fa5]+$/.test(str)) { alert("该字符串全部是中文"); } else { alert("该字符串不全部是中文"); } PHP中,判断中文的正则表达式如下: if(!preg_match("/^[\x{4e00}-\x{9fa5}A-Za-z0-9_]+$/u",$s

utf-8编码的中文看成2个字符,其他数字字符看成一个字符

方法一:使用正则表达式,代码如下: function getByteLen(val) {            var len = 0;            for (var i = 0; i < val.length; i++) {                 var a = val.charAt(i);                 if (a.match(/[^\x00-\xff]/ig) != null)                 {                   

cmd中utf-8编码的问题

有时候我们需要使用cmd显示某个utf-8编码的文本,这时候就需要设置cmd的代码页为65100. 也就是 chcp 65001 这条命令.这样设置可以临时生效. 如何要永久生效,需要在注册表中修改. HKEY_CURRENT_USER\Console\%SystemRoot%_system32_cmd.exe 设置此路径名为 CodePage 项(DWORD32位值) ,值为十进制 65100. 以下是一些字符集:我们常用的是默认的 936 简体中文 和 65100 的 utf-8 . 125

使Sublime Text支持除UTF8外多种编码 - ConvertToUTF8

前几天,在使用了Sublime Text多天之后,感觉完全可以代替系统自带记事本,所以就通过其打开了一个记事本文件,但是打开之后尽然是乱码,在思考了一下之后想到记事本的编码是ANSI编码,那么这就应该是Sublime Text不支持ANSI编码的原因了吧! 然后在这次之后的偶然一次机会打开了一个GBK编码的网页文件,打开之后依然是乱码,小觉又想到————不会是其又不支持GBK吧,无奈之下小觉只能把这个文件先转成UTF8编码来进行编辑了. 在前天,小觉就专门针对Sublime Text中的插件进行