如何对多种语言进行排序?

时间:2013-07-21 04:30:05

标签: java android eclipse multiple-languages

是否可以在运行时对英语以外的语言进行排序?到目前为止我有这样的事情:

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

这可以分类 - Arrays.sort(bug_arr);吗?

不幸的是,当我尝试这个时,我收到一条消息说'Java / Eclipse:某些字符无法使用“Cp1252”字符编码进行映射。

有人有任何想法吗?

3 个答案:

答案 0 :(得分: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

答案 1 :(得分:1)

听起来正在发生的事情是Eclipse正在试图弄清楚如何将这些字符串映射到它能够理解的语言,但它失败了,因为cp1252不支持像你提到的那样的unicode字符串。

如果是这种情况,解决方案是将文件保存为UTF-8。为此,请转到文件 - >属性。选择左侧的资源,然后转到“文本文件编码”。将其设置为UTF-8。

答案 2 :(得分:0)

到目前为止我担心它应该有效。但只需更新ADT并使用高于7的API(可能来自姜饼)..您可以直接在Java程序中对其进行硬编码,也可以将其用作资源数组。

setText(“bengali语言和阿拉伯语”);

上面的方法只适合我的母语孟加拉语,也适用于阿拉伯语。可能只需更新即可。