jde*_*aan 15 windows console cmd utf-8
我有一个英文Windows 2003服务器,启用了亚洲语言支持.命令窗口可用的两种唯一字体(cmd设置)是raster和lucida console.这一个或另一个都没有正确显示汉字(显示为问号).
是否有解决方案让它们显示出来?在写入控制台之前,我的应用程序中是否必须进行一些转换?
我现在正在写UTF8,对于一些非ASCII字符(如öäüß)也有效.写入控制台的源代码具有正确的数据(可以在调试器中正确查看汉字).如果重要,我正在用C#编写应用程序.
编辑:我发现这个链接解释了问题背后的问题,并为C#提供了一个解决方案(涉及本机调用).这适用于.NET 4.5(我未经测试)
小智 6
如果找到将显示汉字字符集的字体,则可以通过在此注册表项下添加值将该字体添加到cmd设置:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Console\TrueTypeFont\
Run Code Online (Sandbox Code Playgroud)
价值观:
Name: 00
Data: Consolas
Run Code Online (Sandbox Code Playgroud)
我以前做过这个,但在SuperUser上找到了这个参考:https://superuser.com/q/55318
希望这可以帮助
您的应用程序编写输出如何?基于 C 字节的 stdio 调用printf在 Windows 上将不支持 UTF-8,除非您通过说chcp 65001 && somecommand(即使这样也有问题)专门将控制台设置为使用 UTF-8 编码。
如果没有chcp,控制台将使用 Windows 安装的默认代码页,在本例中为 cp1252,即使您使用的控制台字体具有字形,也无法使用汉字书写。
如果您想将 Unicode 可靠地写入控制台,则必须使用基于字符的接口,例如wprintf.
| 归档时间: |
|
| 查看次数: |
28820 次 |
| 最近记录: |