如何在c#Console应用程序中输出希腊符号?

时间:2013-11-08 20:44:32

标签: c# symbols

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

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

但不是打印'θ','?'打印出来。有人可以告诉我吗?

2 个答案:

答案 0 :(得分:3)

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

enter image description here

编辑:当然,在C#中也可以这样做:

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

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

答案 1 :(得分:2)

请参阅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