0

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

    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);
4

3 回答 3

1

请参考 URL http://www.cs.tut.fi/~jkorpela/html/euro.html它显示了所有的编码方法。

于 2012-11-14T06:22:50.997 回答
1
string Message = "Hello $ € £";
Console.OutputEncoding = Encoding.UTF8;
Console.WriteLine(Message);

我刚刚确认这可行,但您还需要为您的控制台使用正确的字体(例如,我尝试了“Lucida Console”,这没问题。此外,您还需要确保您的源代码(.cs 文件或其他文件)是在 utf8 编码中。

在此处输入图像描述

于 2012-11-14T06:31:17.913 回答
1

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

于 2012-11-14T06:34:27.687 回答