3

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

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

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

4

2 回答 2

4

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

在此处输入图像描述

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

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

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

于 2013-11-08T20:47:10.793 回答
2

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

The answers to this question explain how to set up cmd.exe to display Unicode characters.

Specifically, this answer suggests changing the registry:

  1. Go to [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\CodePage]
  2. Change the OEMCP value to 65001
于 2013-11-08T20:48:24.030 回答