如何在windows下的cmd窗口中显示日文汉字?

问题描述 投票:0回答:5

我有一个英文版 Windows 2003 服务器,并激活了亚洲语言支持。命令窗口(cmd 设置)仅有的两种可用字体是 raster 和 lucida console。两者都无法正确显示汉字(显示为问号)。

有没有办法让它们显示出来? 在写入控制台之前,我的应用程序是否必须进行一些转换?

我现在正在写 UTF8,这对于一些非 ASCII 字符(如 öäüß)也很有效。写入控制台的源代码具有正确的数据(可以在调试器中正确查看汉字)。如果重要的话,我正在用 C# 编写应用程序。

编辑: 我发现这个link解释了问题背后的问题,并提出了 C# 的解决方案(涉及本机调用)。这应该适用于 .NET 4.5(未经我测试)

windows utf-8 console cmd
5个回答
9
投票

如果您找到可以显示汉字字符集的字体,您可以通过在此注册表项下添加值来将该字体添加到 cmd 设置中:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Console\TrueTypeFont\

价值观:

Name: 00
Data: Consolas

我以前做过此操作,但在 SuperUser 上找到了此参考:https://superuser.com/q/55318

希望这有帮助


6
投票

您的应用程序写入输出如何?基于 C 字节的 stdio 调用(如

printf
)将不支持 Windows 上的 UTF-8,除非您通过说
chcp 65001 && somecommand
专门将控制台设置为使用 UTF-8 编码(即使这样也会出现问题)。

如果没有

chcp
,控制台将使用 Windows 安装的默认代码页,在本例中为 cp1252,并且即使您使用的控制台字体有字形,也无法用汉字书写。

如果您想将 Unicode 可靠地写入控制台,您必须使用基于字符的界面,例如

wprintf


3
投票

这就是我如何在 Windows 7 Pro 英文版上运行的 cmd.exe 中获得中文输入/输出。

  1. 安装 console2,,它是 cmd.exe(和其他 shell)的前端。

  2. 安装后,请按照此处

    的说明进行操作
    • 删除注册表中的“Console2命令窗口”键
    • 将以下数据导入Windows注册表:

    • 适用于中文(中文)Windows XP 和 Vista:

      Windows Registry Editor Version 5.00
      
      [HKEY_CURRENT_USER\Console\Console2 command window]
      "CodePage"=dword:000003a8
      "FontSize"=dword:000a0000
      "FontFamily"=dword:00000036
      "FontWeight"=dword:00000190
      "FaceName"="細明體"
      "HistoryNoDup"=dword:00000000
      
    • 对于日语(日本语)Windows XP 和 Vista:

      Windows Registry Editor Version 5.00
      
      [HKEY_CURRENT_USER\Console\Console2 command window]
      "CodePage"=dword:000003a8
      "FontSize"=dword:000a0000
      "FontFamily"=dword:00000036
      "FontWeight"=dword:00000190
      "FaceName"="MS 明朝"
      "HistoryNoDup"=dword:00000000
      
  3. 您可能需要也可能不需要更改字体。 最初我将字体设置为@NimSum,汉字旋转90度出来。 然后我切换到 NimSum(不带@)并且结果正确。 然后出于好奇我切换到Consola,但我仍然可以看到汉字。 所以不确定你是否真的需要设置字体。


1
投票

Consolas(即使在 Windows 10 上)无法在控制台中正确显示日语字符;我检查了字符映射表中的字体,它根本没有任何东南亚语言的字形。您需要将控制台字体设置为

MS Mincho
或类似的亚洲支持字体才能显示日语字符。这也会将反斜杠更改为日元符号,这是日本系统上的标准配置。您不需要更改代码页或区域设置,但您至少需要安装日语支持才能安装日语字体。在 Windows Server 2003 和 Windows XP 等 NT5 系统上,区域和语言选项中有一个复选框;在 NT6(Vista 及更高版本)上,您只需添加日语 IME,它就会安装所需的文件。


0
投票

我的首选设置:

我有一个名为 StartUp.cmd 的批处理文件 在该文件中添加命令 chcp 65001

这会将代码页设置为 UTF-8

在开始菜单中搜索: 指令 右键单击并选择“打开文件位置”

© www.soinside.com 2019 - 2024. All rights reserved.