o erro ocorre no Firefox, no IE não dá erro mas onde tem acento entra um caracter estranho.
Pelo firebug peguei a saída do xml montado.
Rua Jos Machado Filho 10
Pesquisei na web e vi soluções onde varriam o xml e trocavam caracteres com acento. Mas isto exige mais processamento. Eu gostaria de manter os acentos.
Vi num outro tópico aqui do fórum sobre criar a classe CustomXMLSerialization, que é extensão de uma classe para serialização do Vraptor.
Pesquisando mais vi que poderia ser problema de codificação. Os acentos estão na codificação latina ISO-8859-1.
Troquei nesta classe CustomXMLSerialization
protected XStream getXStream() {
XStream xStream = new XStream(new DomDriver("UTF-8"));
por
protected XStream getXStream() {
XStream xStream = new XStream(new DomDriver("ISO-8859-1"));
mas no xml montado continua aparecendo UTF-8 no cabeçalho.
Tentei também trocar o UTF-8 por ISO-8859-1 via edição de arquivo xml, por um editor de texto. Mas dá o erro mostrado no browser.
Alguém sabe o que devo fazer / já passou por isto ?
obrigado pelas dicas.
Fiz a alteração para o ISO-8859-1, mas o xml continua dando problema.
Fui ver e o problema era outro. Eu pensava que era problema de acento no xml, mas não é.
No banco de dados tem as palavras “Rua Jos Machado Filho 10”
depois de muito trabalho descobri que o código estranho onde está o “é” é um código ASCII sem representação gráfica. (é um “caractere” de controle)
Neste link tem a lista de caracteres de controle em ASCII: http://www.december.com/html/spec/ascii.html
O caractere estranho que está gerando este problema meu é o ETX (controle para “end of text”)
E este não é o único caractere de controle presente no banco de dados. Tem outros.
Investigando vi que o usuário as vezes copia dados de um lugar e cola nas telas de cadastro de um sistema base. Neste copiar e colar entram estes caracteres de controle.
Estou vendo se é possível achar um jeito de “desconsiderar/apagar” estes caracteres de controle que vem ao consultar o banco de dados.
Alguém sabe o que posso fazer ? e como ?
Estou pesquisando na web, vendo se algum já fez isto.
Talvez um tratamento nos métodos de serialização do Xstream no Vraptor resolvesse.