在Windows的CMD中如何设置支持UTF8编码?
这里需要先了解些内容: CHCP CHCP是MD DOS中的命令,用来显示或设置活动代码页编号的。用法是: CHCP [nnn] 其中nnn指定的是代码页的编号。这个参数是可选的,在命令行下如果不指定这个代码页编号,那么默认是显示当前的代码页编号。比如,在默认的cmd窗口中,我们输入chcp,显示的将类似: 活动的代码页: 936 这里的936表示当前使用的是简体中文(GB2312)编码。
UTF8 你也需要了解编码的一些知识,为了完成支持UTF8的工作,你至少需要知道UTF8代码页的编号:65001。更多关于编码的内容,这里不赘述,请自行查找相关内容。
有这两个知识点,接下来,让cmd支持UTF8就变得容易了。 1. 运行CMD; 2. 输入 CHCP,回车查看当前的编码; 3. 输入CHCP 65001,回车; 4. 仅如此,还是不能支持UTF8的正常显示,你还要在窗体上右键,选择属性,来设置字体; 5. 操作完上面几步后,即使你原来的字体里面没有显示Lucida Console这个字体,现在应该也能看到了。选择它。如果原来就有,可以选上它先试试,不行在执行上述步骤(这里补充:至少我本机需要CHCP 65001下,有朋友说不要); 6. 选择只应用到本窗体,确认。 这时候,你的Console里面,应该支持UTF8了。 有些朋友也想知道如何在CMD显示更多的字体,这个其实也是有办法的,只要在注册表(路径:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Console\TrueTypeFont)中添加就好了。需要注意的是,添加的字体需要是定宽的(fixed-width)。操作示意图:
上图来自这里(英文)。需要的可以直接访问。 ===============================================================----------------------------------------------------------------------------------------
下面内容引自:更改cmd代码页,修正中文显示 - 爱国者的个人空间 - 开源中国社区 http://my.oschina.net/aiguozhe/blog/108542 -------------------------------------------------------------------------------------------------------------执行以下相应的命令:
如果cmd的默认代码页属性修改不了,那么修改注册表: 1 win键+R打开“运行”对话框,输入regedit打开注册表编辑器。 2 找到 [HKEY_CURRENT_USER\Console\%SystemRoot%_system32_cmd.exe] 3 修改"CodePage"=dword:000003a8 【注】十六进制"000003a8"或十进制"936",表示“936 (ANSI/OEM - 简体中文 GBK)”。 ----------------------------------------------------------------------------------------------------------------
附: chcp详解功能说明 补充说明 语法 /? 在命令提示符下显示帮助。 示例
出现类似于下面内容的消息: 如果要将活动代码页更改为 850(多语言),请键入:chcp 850
如果指定的代码页无效,则会显示以下错误消息: 无效代码页 |