mi primera pregunta aquí :-)
Hice todo lo posible para leer las reglas y buscar si la pregunta ya estaba hecha antes.Java's equalsIgnoreCase falla con ß ("Sharp S" usado en el alfabeto alemán)
El siguiente código
String[] strings = {"cAsE", "\u00df"};
for (String str : strings) {
System.out.println(str.equalsIgnoreCase(str.toLowerCase()));
System.out.println(str.equalsIgnoreCase(str.toUpperCase()));
}
salidas verdaderos 3 veces (Caso = caso; Caso = CASE; ß = SS) sino también 1 falso (SS = SS!). Intenté usar toLowerCase (Locale) pero no sirvió de nada.
Es éste un problema conocido?
Michael Kaplan ha escrito extensamente sobre el personaje alemán Sharp S. Las cosas han cambiado recientemente y espero que las bibliotecas jueguen al alza. Mucha información buena aquí: http://blogs.msdn.com/michkap/archive/2008/05/15/8506679.aspx –