我正在尝试在控制台应用程序上输出θ(theta),我在Google上搜索并发现我必须使用Unicode输出任何希腊符号。所以我使用的代码是:
Console.WriteLine("\u03B8 (deg) R (m) \t T (kN) FOS");
但不是打印'θ','?'打印出来。有人可以告诉我吗?
答案 0 :(得分:3)
如果您要输出到控制台,则必须将代码页更改为了解unicode的内容。您可以通过在命令提示符下键入chcp 65001
来执行此操作。您还必须将字体更改为Lucida Console或Consolas:
编辑:当然,在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建议更改注册表:
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\CodePage]
OEMCP
值更改为65001