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 に答える