编码欧元符号的问题

时间:2012-11-14 06:14:54

标签: c# asp.net vb.net encoding character-encoding

我运行它时有这个代码,它给我“?”而不是“€”(欧元符号)。 谁能告诉我我能做些什么来解决它。

    string Message = "Hello $ € £";
    Encoding iso = Encoding.GetEncoding("ISO-8859-1");
    Encoding utf8 = Encoding.UTF8;

    byte[] utfBytes = utf8.GetBytes(Message);
    byte[] isoBytes = Encoding.Convert(utf8, iso, utfBytes);
    string msg = iso.GetString(isoBytes);
    Console.WriteLine(msg);

3 个答案:

答案 0 :(得分:1)

请参阅网址http://www.cs.tut.fi/~jkorpela/html/euro.html,它会显示所有编码方法。

答案 1 :(得分:1)

string Message = "Hello $ € £";
Console.OutputEncoding = Encoding.UTF8;
Console.WriteLine(Message);

我刚刚确认这是有效的,但您还需要为您的控制台使用正确的字体(例如我尝试过“Lucida Console”即可。此外,您还需要确保您的源代码(.cs文件或无论如何都是在utf8编码中。

enter image description here

答案 2 :(得分:1)

欧元符号不是ISO-8859-1字符集的一部分:http://en.wikipedia.org/wiki/ISO/IEC_8859-1#Codepage_layout(英镑符号确实出现在那里)