Javaでアラビア語のテキストを表示しようとしていますが、ジャンク文字(例:¤[ï߯[î)]または印刷時に疑問符のみが表示されることがあります。アラビア語を印刷するにはどうすればよいですか。ユニコードとUTF-8に関連していると聞きました。私が言語を扱うのはこれが初めてなので、わかりません。EclipseIndigoIDEを使用しています。
編集:UTF-8エンコーディングを使用する場合、「¤[ï߯[î」文字は「????????」になります 文字。
手始めに、ここを見てください。これにより、EclipseのコンソールでUnicodeを印刷できるようになります(これが、Eclipseが追加の調整なしですぐにサポートできるものかどうかはわかりません)
それでも問題が解決しない場合は、プログラムで使用しているエンコーディングに問題がある可能性が高いため、次のような方法で文字列を作成することをお勧めします。
String str = new String("تعطي يونيكود رقما فريدا لكل حرف".getBytes(), "UTF-8");
これは少なくとも私にとってはうまくいきます。
コードに文字通りテキストを埋め込む場合は、プロジェクトのエンコーディングを正しく設定してください。
これは、Java SE、Java EE、またはJava ME用ですか?これがJavaMEの場合、LWUITを使用する場合は、カスタムGlyphUtilsを作成する必要があります。このファイルをダウンロードしてください:
http :
//dl.dropbox.com/u/55295133/U0600.pdfユニコードエンコーディングのリストを見てください。そしてこのスレッドを見てください:
https ://stackoverflow.com/a/9172732/1061371
答えでbernama AlexKliuchnikauが編集したMohamedNazarの(投稿)「以下のコードは、2つのアラビア文字のユニコードであるJ2MEString s=new String("\u0628\u06A9".getBytes(), "UTF-8");
でアラビア語のテキストを表示するために使用できます\u0628\u06A9
」U0600.pdfファイルを見ると、MohamedNazarとAlex Kliuchnikauは、アラビア語で「ba」と「kaf」の文字を作成する例を示しています。
次に、考慮しなければならない最後のポイントは、「UIがUnicode(アラビア語を意味する)文字をサポートしていることを確認してください」です。LWUITのように、まだユニコード(つまりアラビア語)文字をサポートしていません。アプリがLWUITを使用している場合は、カスタムコードを作成する必要があります。