2016-05-16 5 views
2

この文字列でToUpper()関数が使用可能であることを検出するにはどうすればよいですか? 入力の言語に大文字が含まれていない場合の例です。 私はこの持っている:大文字の関数が機能するかどうかを確認してください

String text = "لان يقوم غينيا انتصا"; 

Console.WriteLine(text.ToUpper(CultureInfo.CurrentUICulture)); 

をし、出力は次のようになります。"???? ????? ????"

私はこのConsole.WriteLine(text.ToUpper(new CultureInfo("ar")));を試みたが、結果は以前と同じです。

+1

'Console.WriteLine(text)'は文字を出力しますか?私はToUpperがマップされていない文字を無視したと思った。言い換えれば、あなたのコンソールウィンドウに、その文字列を正しく表示するフォントまたはロケールがない可能性があります。 – payo

+1

問題の原因となっているのは 'ToUpper()'ではありません。 [http://stackoverflow.com/questions/21751827/displaying-arabic-characters-in-c-sharp-console-application] –

+0

これをLinqPadで実行すると、期待どおりに動作します。 –

答えて

0

すべてが正しく、あなたのテキストのためにexeptです。コンソールはASCII文字のみを出力できます。 使用できるすべての文字の表:http://www.asciitable.com/index/asciifull.gif これは、コンソールが使用するフォントのためです。 互換性のないフォントを互換性のあるフォントに変更すると、機能します。

+0

私はそれを修正しました。 –

関連する問題