1

2 台の同等のマシンで異なる動作をするプログラムを作成しました。1 台のマシンでは、ポンド記号で価格が表示されます。リストに基づいて記号を設定します。例: { "£", "€", "€" }; 両方のマシンが同じ言語とキーボード設定で構成されています。通貨設定には依存しませんが、それでも両方のマシンの通貨設定は同じです。しかし、あるマシンでは、シンボルは文字 J に「変換」されます。C# 2010 を使用して Windows フォームにラベルを付けたものがありますが、何が原因なのだろうか?

更新同じフォントと同じ方法を使用して表示します。どちらのマシンも Win7 sp1 を実行しており、ポンド記号だけでなく、ユーロ記号も J ??? として表示されます。

4

2 に答える 2

0

すばらしい Google-fu のおかげで何か思いついたのですが、1 台のマシンでしかテストできなかったので、うまくいくかどうかはわかりませんが、とにかく試してみてください。

var encoder = System.Text.Encoding.GetEncoding(858); //also tried with 437
byte[] c = new byte[] { 156 };
Console.WriteLine(encoder.GetString(c));

これにより、私のマシンでは「£」が出力されます。

このスレッドから取得: http://social.msdn.microsoft.com/Forums/en-US/csharplanguage/thread/dccd38e0-6f9e-4fb2-b114-bc44128ca634/

于 2013-04-17T14:44:27.933 に答える