Как отсортировать несколько языков?
Можно ли во время выполнения сортировать языки, кроме английского? У меня пока что-то вроде этого:
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);
РЕДАКТИРОВАТЬ:
Для вашей проблемы, связанной с кодированием, вы можете увидеть этот ответ
Похоже, что происходит то, что Eclipse пытается выяснить, как отобразить эти строки в язык, который он может понять, но это не удается, потому что cp1252 не поддерживает строки Unicode, подобные тем, которые вы упомянули.
Если дело обстоит так, решение состоит в том, чтобы сохранить ваши файлы как UTF-8. Для этого перейдите в File -> Properties. Выберите ресурс слева и перейдите к "Кодировка текстовых файлов". Установите это, чтобы быть UTF-8.
Пока я обеспокоен, что это должно работать. Но просто обновите ADT и используйте API выше 7(может быть из gingerbread). Вы можете напрямую жестко закодировать его в своей Java-программе или использовать в качестве массива ресурсов.
setText ("бенгальский язык и арабский язык");
Вышеупомянутый метод просто работает для меня на моем родном языке Bangla, а также работает с арабским языком. Может быть, все, что вам нужно, это обновить.