Пример

public static void main(String[] args){
String str = "\u00C0"; //$NON-NLS-1$
if ("\u0041\u0300".equals(str)) { //$NON-NLS-1$
System.out.println("String: Строки идентичны."); //$NON-NLS-1$
} else {
System.out.println("String: Строки различны."); //$NON-NLS-1$
}
}


public static void TestEqualsIgnoreCase() {
Locale.setDefault(new Locale("lt", "LT"));
String str = "\u00C0";
if (str.equalsIgnoreCase("\u0041\u0300")) {
System.out.println("String: Строки равны (без учёта регистра).");
} else {
System.out.println("String: Строки различны (без учёта регистра).");
}
}
Решение
Используйте ICU 2.6.1 com.ibm.icu.text.Collator.equals (Object)

public static void main(String[] args){
Collator collator = Collator.getInstance(new Locale("en", "US")); //$NON-NLS-1$ //$NON-NLS-2$
if (collator.equals("\u00C0", "\u0041\u0300")) { //$NON-NLS-1$ //$NON-NLS-2$
System.out.println("Весовое сравнение: Строки равны."); //$NON-NLS-1$
} else {
System.out.println("Весовое сравнение: Строки различны."); //$NON-NLS-1$
}
}
Решение

public static void main(String[] args){
Collator collator = Collator.getInstance(new Locale("lt", "LT")); //$NON-NLS-1$ //$NON-NLS-2$
collator.setStrength(Collator.SECONDARY);
if (collator.equals("y", "I")) { //$NON-NLS-1$ //$NON-NLS-2$
System.out.println("Весовое сравнение: Строки равны (без учёта регистра)."); //$NON-NLS-1$
} else {
System.out.println("Весовое сравнение: Строки различны (без учёта регистра)."); //$NON-NLS-1$
}
}