如何在CMD-DOS窗口中显示UTF-8中文字符(他山之石)

作者:尐邪 发布于:2013-6-17 14:48 Monday 分类:芝麻绿豆

原文转自(http://blog.sina.com.cn/s/blog_794b1d96010136yy.html)

在中文Windows系统中,如果一个文本文件是UTF-8编码的,那么在CMD.exe命令行窗口(所谓的DOS窗口)中不能正确显示文件中的内容。在默认情况下,命令行窗口中使用的代码页是中文或者美国的,即编码是中文字符集或者西文字符集。

如果想正确显示UTF-8字符,可以按照以下步骤操作:

1、打开CMD.exe命令行窗口

2、通过 chcp命令改变代码页,UTF-8的代码页为65001

chcp 65001

执行该操作后,代码页就被变成UTF-8了。但是,在窗口中仍旧不能正确显示UTF-8字符。

3、修改窗口属性,改变字体

在命令行标题栏上点击右键,选择"属性"->"字体",将字体修改为True Type字体"Lucida Console",然后点击确定将属性应用到当前窗口。

这时使用type命令就可以显示UTF-8文本文件的内容了:

type filename.txt

4、通过以上操作并不能完全解决问题,因为显示出来的内容有可能不完全。可以先最小化,然后最大化命令行窗口,文件的内容就完整的显示出来了。

//补充

dos指令:

chcp 65001 就是换成UTF-8代码页

chcp 936 可以换回默认的GBK

chcp 437 是美国英语

CMD使用命令chcp:

功能: 
显示或设置活动代码页编号

  CHCP [nnn]
  nnn 指定代码页编号。
  不加参数键入 CHCP 显示活动代码页编号。
  nnn指定一已有的系统字符集,该字符集在CONFIG.SYS文件中由COUNTRY命令定义。
  在DOS下可以通过mode命令来设置代码页。
  选定代码页: MODE CON[:] CP SELECT=yyy
  代码页状态: MODE CON[:] CP [/STATUS]
  按Windows+R组合键,然后输入cmd或者command打开命令提示符。
  比如输入:mode con cp select=936,则表示显示简体中文。如果输入mode con cp select=437,则表示显示MS-DOS 美国英语,而中文显示将会是?。
  MS-DOS为以下国家和语言提供字符集:
  代码页 描述
  1258 越南语
  1257 波罗的语
  1256 阿拉伯语
  1255 希伯来语
  1254 土耳其语
  1253 希腊语
  1252 拉丁 1 字符 (ANSI)
  1251 西里尔语
  1250 中欧语言
  950 繁体中文
  949 朝鲜语
  936 简体中文(默认)
  932 日语
  874 泰国语
  850 多语种 (MS-DOS Latin1)
  437 MS-DOS 美国英语

标签: 经验杂谈 windows

发表评论:

©2010-2024 Jeen All Rights Reserved.Powered by emlog 京ICP备15058100号-1