Erro em acentuação gerando XML.  XML
Índice dos Fóruns » Java Básico
Autor Mensagem
pyro
JavaGuru

Membro desde: 17/09/2007 13:13:48
Mensagens: 218
Offline

Pessoal, estou gerando um arquivo XML utilizando o Jdom conforme o exemplo abaixo:

Os caracteres com acento estão saindo todos zoneados, provavelmente por causa do encoding.
No arquivo XML no cabeçalho consta UTF-8, o UTF-8 não aceita caracteres ou eu estou gerando o arquivo errado?
rbellia
JavaBaby

Membro desde: 02/07/2008 23:18:16
Mensagens: 80
Offline

UTF-8 não aceita acentuação - vc pode apelar para sequencias de escape { ou para blocos CDATA

This message was edited 2 times. Last update was at 15/07/2008 16:26:20


Aumente sua produtividade Java ME: https://diamond-powder.dev.java.net
silveta
JavaChild

Membro desde: 02/03/2005 13:30:18
Mensagens: 109
Offline

Seu editor está gerando este seu arquivo em java em qual charset ?

Pois pelo que vejo é bem provável que sua IDE esteja gerando o texto em iso e seu xml esteja em utf.

Se você usar eclipse vá em "Edit > Set Enconding" e escolhe UTF-8.

espero te ajudado []'s
Fernando Generoso da Rosa
Virtual Machine Man

Membro desde: 14/01/2003 14:48:21
Mensagens: 555
Localização: Sombrio/SC
Offline

Pois é....Isso é um problema.

Está saindo zoneado por causa do encoding sim....Tu tem 2 opções:

utilizar o encoding = ISO-8859-1, ou trocar os caracteres acentuados por seus respectivos valores unicode (procurar no google).

A segunda opção é a mais complicada, porém a que vai te dar menos dor de cabeça depois de implementada, pelo menos na minha opinião.

Fernando Rosa
[Email] [MSN]
bruno_savi
JavaTeenager
[Avatar]

Membro desde: 02/11/2006 16:23:22
Mensagens: 183
Localização: São Paulo
Offline

mude de UTF para ISO-8859-1
e resolva o problema.

Bruno Savi
[WWW] [MSN]
Fernando Generoso da Rosa
Virtual Machine Man

Membro desde: 14/01/2003 14:48:21
Mensagens: 555
Localização: Sombrio/SC
Offline

Bruno,

vai resolver o problema pontualmente. Porém se esse xml for utilizado por um servidor de aplicação, tanto os dados que serão gravados em um banco de dados, quanto os dados que serão apresentados em uma página web, via JSF, JSP ou qualquer coisa, vai ficar zoneado também, pois toda a configuração de servidor, encoding de componentes JSF, tudo está como UTF-8. Agora se resolver o problema de acentuação utilizando um xml com encoding UTF-8, na frente não dará problema.

Fernando Rosa
[Email] [MSN]
bruno_savi
JavaTeenager
[Avatar]

Membro desde: 02/11/2006 16:23:22
Mensagens: 183
Localização: São Paulo
Offline

depende se ele tiver usando tudo em iso não da problema algum.

Bruno Savi
[WWW] [MSN]
Fernando Generoso da Rosa
Virtual Machine Man

Membro desde: 14/01/2003 14:48:21
Mensagens: 555
Localização: Sombrio/SC
Offline

Se...Aí é q está o problema.

http://www.guj.com.br/posts/list/26061.java

Fernando Rosa
[Email] [MSN]
pyro
JavaGuru

Membro desde: 17/09/2007 13:13:48
Mensagens: 218
Offline

rbellia wrote:UTF-8 não aceita acentuação - vc pode apelar para sequencias de escape { ou para blocos CDATA


Achei interessante esse negócio de CDATA, creio que ele possa me ajudar, como eu crio um bloco CDATA em Java? Estou procurando e não encontrei solução.
pyro
JavaGuru

Membro desde: 17/09/2007 13:13:48
Mensagens: 218
Offline

bruno_savi wrote:mude de UTF para ISO-8859-1
e resolva o problema.


Sou dica pode ser interessante também, estou utilizando o Netbeans 6.1 como faço para mudar o encoding do arquivo XML? Pois pelo que vi no código que gerei o UTF-8 é atribuido de forma padrão.
pyro
JavaGuru

Membro desde: 17/09/2007 13:13:48
Mensagens: 218
Offline

Pessoal conforme o código abaixo (retirado daqui: http://www.guj.com.br/posts/list/53621.java) eu consegui gerar um XML em UTF-8 com suporte acentuação, tudo abrindo legal no browser:


Alguém por acaso sabe onde eu defino o ISO-8859-1 nesse documento? É que em alguns caso vou precisar gerar ele em ISO mesmo.
 
Índice dos Fóruns » Java Básico
Ir para:   
Powered by JForum 2.1.8 © JForum Team