代码之家  ›  专栏  ›  技术社区  ›  jdehaan

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

  •  15
  • jdehaan  · 技术社区  · 15 年前

    有没有一个解决方案可以让它们显示出来? 在写入控制台之前,是否必须在应用程序中进行一些转换?

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

    编辑: 我找到这个了 link 它解释了问题背后的问题,并为C#提供了一个解决方案(涉及本机调用)。这将与.NET4.5配合使用(我未测试)

    3 回复  |  直到 13 年前
        1
  •  7
  •   Community CDub    8 年前

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

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

    价值观:

    Name: 00
    Data: Consolas
    

    我以前做过,但在SuperUser上发现了以下引用: https://superuser.com/q/55318

    希望这有帮助

        2
  •  5
  •   bobince    15 年前

    您的应用程序编写输出如何?基于C字节的stdio调用 printf chcp 65001 && somecommand (即使这样也有问题)。

    chcp ,控制台将使用Windows安装的默认代码页,在本例中是cp1252,即使您使用的控制台字体有字形,也不可能用汉字书写。

    如果您想将Unicode可靠地写入控制台,就必须使用基于字符的接口,如 wprintf

        3
  •  3
  •   Cody Gray    12 年前

    这就是我如何输入/输出中文的方法命令行在Windows7专业英文版上运行。

    1. 安装 console2, 它是命令行(和其他外壳)。

    2. 安装后,请按照说明操作 here

      • 将以下数据导入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 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(没有@),结果显示正确。出于好奇,我换上了康索拉,但我仍然能看到汉字。所以不确定你是否真的要设置字体。

        4
  •  0
  •   Jody Bruchon    4 年前

    Consolas(甚至在windows10上)不能在控制台中正确显示日语字符;我在charactermap中检查了字体,它根本没有任何东南亚语言的glyph。您需要将控制台字体设置为 MS Mincho 或类似的亚洲支持字体来显示日语字符。这也将改变反斜杠日元符号,这是一个标准的事情在日本的制度。您不需要更改代码页或区域设置,但至少需要安装日语支持才能安装日语字体。在诸如WindowsServer2003和WindowsXP这样的NT5系统上,在区域和语言选项中有一个复选框;在NT6(Vista和更高版本)上,您只需添加日语输入法,它就会安装所需的文件。