Console.WriteLine((char)146)显示为“?”

时间:2013-10-16 13:48:10

标签: c# .net encoding console-application

我尝试使用打印此字符Console.WriteLine((char) 146);,但它打印了?。当我设置Console.OutputEncoding = System.Text.Encoding.UTF8时,它会打印一些有问题的字符,而不是我需要的字符。

2 个答案:

答案 0 :(得分:1)

您需要的代码是8217。

但您还必须启用UTF8编码并将字体更改为可显示UTF8字符的字体:

        Console.OutputEncoding = Encoding.UTF8;

        int value = '’';

        Console.WriteLine((char)value);

        Console.ReadLine();

如果您当前的控制台字体不支持此字符,您可能还需要更改它。

如何? 启动控制台后,右键单击标题栏 - >属性 - >字体 - > Lucida控制台

瞧它有效!

答案 1 :(得分:0)

你试过这个吗?

static void Main(string[] args)
    {
        Console.WriteLine((char)39);
    }

至少这对我有用。