【问题标题】:Encoding issue of Euro sign欧元符号的编码问题
【发布时间】:2012-11-14 06:14:54
【问题描述】:

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

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

【问题讨论】:

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


    【解决方案1】:
    string Message = "Hello $ € £";
    Console.OutputEncoding = Encoding.UTF8;
    Console.WriteLine(Message);
    

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        【解决方案3】:

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2023-03-28
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多