La codificación de Java no afecta para nada. Es la codificación del XML lo que cuenta. La idea es que cada texto, XML, Java, Stream que viaja por la red, tiene una codificación y mientras esten todas bien especificadas, todo funciona ya que las conversiones se hacen automaticas. El problema es cuando alguna especificacion es incorrecta o no se hacen las conversiones como toca.
Pero tener tu codigo Java en UTF-8 o ISO solo afecta a tu programa Java.
Así que si le pones que el XML es de ese tipo, ya debería funcionar. A no ser que en algun sitio le tengas puesto que lo que recibes es UTF-8, lo cual no será cierto ya.
S!
Y si, es un tema complejo, no solo para iniciados
. Yo todavía tengo que pensarmelo 3 o 4 veces y aun asi a veces me olvido alguna codificacion y zas. Pero al menos sabiendo como va el tema, se reconocen los errores más rapido y encuentras soluciones antes. Eso si, los bugs en los navegadores tampoco ayudan mucho
.