.net - 読み込み - c言語 文字コード 指定




C#Unicode文字列出力 (2)

まず、出力エンコーディングをUTF8に変更します。

Console.OutputEncoding = Encoding.UTF8;
Console.WriteLine("добры дзень");

今でも疑問符が表示されます。 その理由は、 デフォルトコンソールのフォントはキリル文字をサポートしていないからです。 コンソールのフォントを変更する:

運が良ければ、Unicodeをサポートする別のフォントを見つけるべきです:

フォントを変更すると、あなたのテキストを見ることができるはずです:

一般的なケースでは、すべてのUnicode文字を確実に表示したい場合、Consoleはおそらくあなたにとって適切ではありません。 参照: C#console font (コメントも興味深い)

私は、文字列をUnicode文字列に変換する関数を持っています:

private string UnicodeString(string text)
{
    return Encoding.UTF8.GetString(Encoding.ASCII.GetBytes(text));
}

しかし、私はこの関数を呼び出すときに出力結果が間違っています。 私の機能は動作していないようです。

Console.WriteLine(UnicodeString("добры дзень"))ような質問だけをコンソールに表示します: ????? ???? ????? ????

それを正しく表示するためにコンソールに言う方法はありますか?

更新

それはUnicodeではない問題のようです。 システム(Windows 7)に正しいロケールがないので疑問符が表示されている可能性がありますか?

ロケールを変更せずに動作させる方法はありますか?


単純な単純なConsole.WriteLine("добры дзень"); 変換の必要はありません。





c#-4.0