A única vez que eu mexi com XMLs em portugês, eu coloquei tudo entre CDATAS, assim:
// to dentro de um code pro forum não parsear meu texto. espero que funcione.
<![CDATA[usu\u00e1rio]]>
E o encoding deve ser um UTF mesmo, talvez UTF-16…
No google, achei uma discussão interessante, o oposto ao que vc tá fazendo:
http://forum.java.sun.com/thread.jsp?thread=374424&forum=34&message=1595819
Mas dá pra ter uma idéia de como parsear a coisa, se vc já leu como UTF num Reader, então ela já foi decodificada. Se o XML foi gerado em Java, é melhor vc fazer assim:
- usar diretamente os acentos pra escrever o buffer.
- Setar o encoding do seu writer para UTF.
Na hora de ler, vc seta o encoding do reader ou do parser, dependendo de onde vc quer que a conversão aconteça.
Boa sorte!!!
P.S.: essa é uma das coisas que depõe contra a idéia de que um humano vai escrever XML. Viagem total… 