2

我想在 Visual Studio 的 C# 控制台上写,但它不可读,每个乌尔都语字符的空格中只打印问号。

4

2 回答 2

2

除非您使用 Unicode 字体,否则控制台应用程序将使用机器的系统区域设置定义的代码页。您可以将系统语言环境更改为支持乌尔都语的语言环境,也可以将控制台的字体更改为 Unicode 字体。

这 '?' 当 Windows 尝试使用没有与原始 ASCII 代码对应的字符的代码页来显示一个代码页中的字符时,就会出现字符。当目标 ASCII 代码存在但对应不同的字形时,可能会出现奇怪的字符。

于 2013-07-17T12:53:13.943 回答
1

从MSDN 上的Console.OutputEncoding 属性:

请注意,成功向控制台显示 Unicode 字符需要满足以下条件:

  • 控制台必须使用 TrueType 字体(例如 Lucida Console 或 Consolas)来显示字符。
  • 控制台使用的字体必须定义要显示的特定字形。如果基本字体不包含该字形的定义,则控制台可以利用字体链接来显示来自链接字体的字形。
于 2013-07-17T12:54:22.040 回答