繁体   English   中英

在控制台中显示UTF-8字符

[英]Show UTF-8 characters in console

如何在控制台中打印UTF8字符?

使用Console.Writeline("îăşâţ")我在控制台中看到了îasât

Console.OutputEncoding = Encoding.UTF8;

您可以找到一些可以演示如何将多字节字符集写入控制台的黑客,但它们不可靠。 它们需要您的控制台字体支持它,并且通常,我会避免使用它。 (如果您的用户不做他们的额外工作,所有这些技术都会中断...因此他们不可靠。)

如果您需要编写Unicode输出,我强烈建议您使用GUI应用程序来处理此问题,而不是使用控制台。 制作一个简单的GUI来将输出写入支持Unicode的控件是相当容易的。

您无法在控制台中打印Unicode字符,它仅支持当前代码页中可用的字符。 不可用的字符将转换为最接近的等效字符或问号。

使用Console.OutputEncoding就足够了。 .NET中的所有字符串对象默认为unicode,因此将控制台的输出编码更改为UTF-8将在现代Windows安装中按原样工作。

控制台中的默认编码取决于配置,但对于美国语言或某些本地代码页,它很可能是IBM437。

试试这个 :

using System.Diagnostics
...
Debug.WriteLine(..);// will output utf-8 charset

我在下面找到的简单解决方案

Console.Write("îăşâţ");

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM