Как отсортировать несколько языков?

Можно ли во время выполнения сортировать языки, кроме английского? У меня пока что-то вроде этого:

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

Можно ли это отсортировать - Arrays.sort(bug_arr);?

К сожалению, когда я попробовал это, я получил сообщение "Java/Eclipse: некоторые символы не могут быть сопоставлены с использованием кодировки символов Cp1252".

У кого-нибудь есть идеи?

3 ответа

Сортировка с использованием Collator. Подобно-

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

Похоже, что происходит то, что Eclipse пытается выяснить, как отобразить эти строки в язык, который он может понять, но это не удается, потому что cp1252 не поддерживает строки Unicode, подобные тем, которые вы упомянули.

Если дело обстоит так, решение состоит в том, чтобы сохранить ваши файлы как UTF-8. Для этого перейдите в File -> Properties. Выберите ресурс слева и перейдите к "Кодировка текстовых файлов". Установите это, чтобы быть UTF-8.

Пока я обеспокоен, что это должно работать. Но просто обновите ADT и используйте API выше 7(может быть из gingerbread). Вы можете напрямую жестко закодировать его в своей Java-программе или использовать в качестве массива ресурсов.

setText ("бенгальский язык и арабский язык");

Вышеупомянутый метод просто работает для меня на моем родном языке Bangla, а также работает с арабским языком. Может быть, все, что вам нужно, это обновить.

Другие вопросы по тегам