我的应用程序生成波斯文本并在控制台窗口中显示为未知代码! 如何在控制台的应用程序输出中包含Unicode文本? 我习惯于下面的代码,但它不能正常工作!
Console.InputEncoding = Encoding.UTF8;
答案 0 :(得分:3)
如果您希望输出正确显示,则应设置输出编码:
public class Test {
static void Main() {
System.Console.OutputEncoding = System.Text.Encoding.UTF8;
System.Console.WriteLine("پارسی");
}
}
适用于我(是的,即使Windows控制台使用UTF-16,您也必须设置UTF-8;我不知道为什么)。
C:\>test.exe
پارسی
请注意,控制台可能会显示?????
,在这种情况下,您需要将控制台字体设置为TrueType字体(例如Consolas或Lucida控制台),否则控制台会尝试将所有内容转换为OEM字符集和字符无法转换成问号。之后,控制台仍显示没有波斯语,因为没有复杂的脚本渲染支持,但您可以复制/粘贴它。
答案 1 :(得分:-1)
据我所知,Windows内部使用UCS-2。您是否尝试过将文字转换为此编码?