2013-07-21 62 views
2

運行時是否可以對英語以外的語言進行排序?我有這樣的事情至今:如何排序多種語言?

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

可以這樣分類 - Arrays.sort(bug_arr);

不幸的是,當我嘗試這樣做時,我收到一條消息,說'Java/Eclipse:某些字符不能使用「Cp1252」字符編碼映射「。

任何人有什麼想法?

回答

0

到目前爲止,我擔心它應該工作。但只需更新ADT並使用高於7的API(可能來自薑餅)。您可以直接在Java程序中對其進行硬編碼,也可以將其用作資源數組。 (「孟加拉語言和阿拉伯語言」);

setText(「bengali language and arabic language」);

上述方法只適用於我的本地孟加拉語言,並且還使用阿拉伯語言。可能所有你需要的是更新。

+0

嗨,雅的setText(...)工作得很好,因爲我試過的語言。但是,是的,我想你是對的,我應該嘗試使用高於7的API。讓我試着回來。 – Aada

2

使用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); 

編輯:

對於您的編碼相關的問題,你可能想看看這個答案 -

How to use Special Chars in Java/Eclipse

+0

我會試試這個。 – Aada

1

它聽上去像現在發生的事情是Eclipse正在試圖找出如何將這些字符串映射到它可以理解的語言,但是它失敗了,因爲cp1252不支持像你提到的那樣的unicode字符串。

如果是這種情況,解決辦法是將文件保存爲UTF-8。爲了做到這一點,轉到文件 - >屬性。選擇左側的資源,然後轉到「文本文件編碼」。將其設置爲UTF-8。