【问题标题】:UTF-16 on cmd.execmd.exe 上的 UTF-16
【发布时间】:2012-06-01 15:45:00
【问题描述】:

我已经创建了目录“•◘▬¨ŤlCęół♥☺☻0”,我想使用 dir /b 命令使其可见。到目前为止,chcp 10000、chcp 10001 和 chcp 65000(utf-8) 命令失败(原始名称显示为“系统无法写入指定的设备”,或显示为空字符串,或 unicode 字符被替换/忽略。什么是原因以及如何解决?The official documentation 没有帮助:(

【问题讨论】:

  • 我认为这不可能。然而,我可能是错的,所以请等待更多的答案。
  • 如答案中所述,这主要是选择支持 Unicode 的字体的问题。不过,非 BMP 字符可能在任何情况下都不起作用。
  • 还有 CHCP 65001 DIR > UTF8.TXT TYPE UTF8.TXT from stackoverflow.com/questions/379240/…
  • 小注:代码页 65000 是 UTF-7,而 65001 是 UTF-8。

标签: windows unicode cmd


【解决方案1】:

是的,我刚刚解决了我的问题。这是 cmd.exe 中默认字体的错误,它无法管理 unicode 符号。修复它(windows 7 x64 pro):

  1. 打开/运行cmd.exe
  2. 点击左上角的图标
  3. 选择属性
  4. 然后是“字体”栏
  5. 选择“Lucida 控制台”并确定。
  6. 在提示符处写Chcp 10000
  7. 终于dir /b

享受带有爱心、中国标志等的干净 UTF-16 输出!

【讨论】:

  • 我很好奇,chcp 真的需要吗? AFAIK 即使没有它也应该可以工作,因为 Unicode 独立于代码页。
  • 同上@Philipp 所说的。我可以看到一个目录,如您使用默认的美国 Windows 437 代码页所指示的那样。但是,中文成为 Unicode 替换字符,这意味着该字体不支持它。
  • cmd.exe 仍然无法正确显示 BMP 之外的字符。 (它显示 2 个字符而不是 1 个)。
【解决方案2】:

也来自 Is there a Windows command shell that will display Unicode characters?

CHCP 65001
DIR > UTF8.TXT
TYPE UTF8.TXT

【讨论】:

  • 请注意,此答案适用于 UTF8,而不是 UTF16。
猜你喜欢
  • 2012-10-03
  • 1970-01-01
  • 2012-10-08
  • 2012-08-18
  • 2021-01-06
  • 1970-01-01
  • 2018-05-18
  • 2012-03-13
  • 2014-07-16
相关资源
最近更新 更多