2013-07-21 36 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。