私のアプリケーションはペルシャ語のテキストを生成し、コンソール ウィンドウに不明なコードとして表示します! コンソールのアプリケーション出力に Unicode テキストを含めるにはどうすればよいですか? 以前は以下のコードを使用していましたが、正しく機能しません!
Console.InputEncoding = Encoding.UTF8;
出力を正しく表示するには、出力エンコーディングを設定する必要があります。
public class Test {
static void Main() {
System.Console.OutputEncoding = System.Text.Encoding.UTF8;
System.Console.WriteLine("پارسی");
}
}
私にとってはうまくいきます(はい、WindowsコンソールはUTF-16を使用していますが、UTF-8を設定する必要があります。理由はわかりません)。
C:\>test.exe
پارسی
コンソールは、コンソール フォントを TrueType フォント (Consolas や Lucida Console など) に設定する必要があると表示される場合があることに注意してください?????
。そうしないと、コンソールはすべてを OEM 文字セットに変換しようとし、変換できない文字は疑問符になります。その後、複雑なスクリプトのレンダリングがサポートされていないため、コンソールにはまだペルシャ語が表示されませんが、問題なくコピー/貼り付けできます。
私の知る限り、Windows は内部で UCS-2 を使用しています。テキストをこのエンコーディングに変換しようとしましたか?