2

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

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

这可以排序 - Arrays.sort(bug_arr);

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

有人知道吗?

4

3 回答 3

3

使用整理器排序。喜欢-

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 回答
0

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

setText("孟加拉语和阿拉伯语");

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

于 2013-07-21T04:38:13.487 回答