2

実行時に英語以外の言語をソートすることは可能ですか? これまでのところ、次のようなものがあります。

String bug_arr={"Инсталиране на безжична връзка","Инсталиране на безжична връзка","Инструкции за безопасност"};
String arabic_arr={"رحمن","مدينة"};
String en_arr={"Hello","Air"};

これはソートできますArrays.sort(bug_arr);か?

残念ながら、これを試したところ、「Java/Eclipse: 「Cp1252」文字エンコーディングを使用して一部の文字をマップできません」というメッセージが表示されました。

誰でも何か考えがありますか?

4

3 に答える 3

3

Collat​​or を使用して並べ替えます。お気に入り-

Collator collator = Collator.getInstance(Locale.JAPAN);
Collections.sort(phraseList, collator);

例-

String arabic_arr[] = {"رحمن","مدينة"};
Collator arabicCollator = Collator.getInstance(new Locale("ar"));
Collections.sort(Arrays.asList(arabic_arr), arabicCollator);

編集:

エンコーディング関連の問題については、この回答を見たいと思うかもしれません-

Java/Eclipse で特殊文字を使用する方法

于 2013-07-21T04:50:12.933 に答える
1

Eclipse がこれらの文字列を理解できる言語にマップする方法を見つけようとしているようですが、cp1252 はあなたが言及したような Unicode 文字列をサポートしていないため、失敗しています。

この場合の解決策は、ファイルを UTF-8 として保存することです。これを行うには、[ファイル] -> [プロパティ] に移動します。左側の [リソース] を選択し、[テキスト ファイルのエンコード] に移動します。これを UTF-8 に設定します。

于 2013-07-21T05:00:44.443 に答える