Ответ 1
Используйте класс Collator. Он позволяет установить силу и локаль, и он будет соответствующим образом сравнивать символы.
Это должно быть что-то похожее на это (ПРИМЕЧАНИЕ: я не тестировал программу)
import java.text.Collator;
import java.util.Locale;
public class CollatorExp {
public static void main(String[] args) {
Collator collator = Collator.getInstance(Locale.FRENCH);
collator.setStrength(Collator.PRIMARY);
if (collator.compare("débárquér", "debarquer") == 0) {
System.out.println("Both Strings are equal");
} else {
System.out.println("Both Strings are not equal");
}
}
}
ОБНОВЛЕНИЕ: Следует отметить, что "débárquér" и "debarquer" никогда не должны считаться равными. Но если вы будете их сортировать, то вы не хотите, чтобы их сравнивали по их значению ASCII. Возьмем, к примеру, "Жоао" и "Жоао": если вы разобрали их на основе ASCII, вы можете получить Жоао, Джона, Жоао. Это, очевидно, не очень хорошо. Использование класса collator обрабатывает это правильно.