【问题标题】:How to output greek symbols in c# Console Application?如何在 C# 控制台应用程序中输出希腊符号?
【发布时间】:2013-11-21 00:03:02
【问题描述】:

我正在尝试在控制台应用程序上输出 θ (theta),我在 Google 上进行了搜索,发现我必须使用 Unicode 来输出任何希腊符号。所以我使用的代码是:

Console.WriteLine("\u03B8 (deg)  R (m) \t T (kN)  FOS");

但不是打印“θ”,而是“?”被打印。有人可以给我建议吗?

【问题讨论】:

标签: c# symbols


【解决方案1】:

How to make Unicode charset in cmd.exe by default?

此问题的答案解释了如何设置 cmd.exe 以显示 Unicode 字符。

具体来说,this answer 建议更改注册表:

  1. 转到[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\CodePage]
  2. OEMCP 值更改为65001

【讨论】:

    【解决方案2】:

    如果要输出到控制台,则必须将代码页更改为可以理解 unicode 的内容。您可以通过在命令提示符处键入chcp 65001 来执行此操作。您还必须将字体更改为 Lucida Console 或 Consolas:

    编辑:当然也可以在 C# 中进行:

        public static void Main()
        { 
            Console.OutputEncoding = System.Text.Encoding.Unicode;
            Console.WriteLine("\u03B8");
            Console.ReadLine();
        }
    

    我认为您仍然必须手动(或通过非托管代码)按摩字体。

    【讨论】:

    • 我在 Win7 x64 上,控制台似乎有点问题 - 起初我认为更改字体后它不起作用,但一旦我点击了一下,它就会自行纠正。可能窗口需要重新绘制自身以使编码生效以使用新字体。
    猜你喜欢
    • 1970-01-01
    • 2022-01-18
    • 1970-01-01
    • 2013-04-20
    • 1970-01-01
    • 2011-04-21
    • 1970-01-01
    • 1970-01-01
    • 2014-04-12
    相关资源
    最近更新 更多