Codificação da XML
Os documentos em XML podem conter caracteres estrangeiros como Norueguês
æøå, ou Francês êèé.
Para permitir que o parser entenda estes caracteres, você deve salvar seus documentos em XML como Unicode.
O Notepad (bloco de notas) do Windows 95/98
O Notepad do Windows 95/98 não pode salvar arquivos no formato Unicode.
Você pode usar o Notepad para editar e salvar documentos em XML que contém caracteres estrangeiros (como Norueguês
æøå, ou Francês êèé),
<?xml version="1.0"?>
<bilhete>
<de>Maria</de>
<para>José</para>
<mensagem>Norueguês: æøå. Francês: êèé</mensagem>
</bilhete>
|
Mas se você salvar o arquivo e abri-lo com o IE 5.0, você receberá uma MENSAGEM DE ERRO.
O Notepad do Windows 95/98 com Codificação
Os arquivos do Notepad do Windows 95/98 devem ser salvos com atributo de codificação.
Para evitar o erro você pode adicionar um atributo de codificação na sua declaração XML, mas você não pode usar Unicode.
A codificação abaixo (abrir com o IE 5.0), NÃO dará uma mensagem de erro:
<?xml version="1.0" encoding="windows-1252"?>
|
A codificação abaixo (abrir com o IE 5.0), NÃO dará uma mensagem de erro:
<?xml version="1.0" encoding="ISO-8859-1"?>
|
A codificação abaixo (abrir com o IE 5.0),
NÃO dará uma mensagem de erro:
<?xml version="1.0" encoding="UTF-8"?>
|
A codificação abaixo (abrir com o IE 5.0), DARÁ uma mensagem de erro:
<?xml version="1.0" encoding="UTF-16"?>
|
O Notepad do Windows 2000
O Notepad do Windows 2000 pode salvar arquivos como Unicode.
O editor Notepad no Windows 2000 suporta Unicode. Se você selecionar este arquivo para salvar como Unicode (observe que o documento não contém qualquer atributo de codificação):
<?xml version="1.0"?>
<note>
<from>Jani</from>
<to>Tove</to>
<message>Norwegian: æøå. French: êèé</message>
</note>
|
O seguinte arquivo:
note_encode_none_u.xml, NÃO dará uma mensagem de erro se você abri-lo com o IE 5.0, mas se você abri-lo com o Netscape 6.2, ele DARÁ uma mensagem de erro.
O Notepad do Windows 2000 com Codificação
Os arquivos do Notepad do Windows 2000 salvos como Unicode usam codificação "UTF-16".
Se você adicionar um atributo de codificação aos arquivos XML salvos como Unicode, os valores de codificação windows gerarão um erro.
Esta codificação (abrir),
NÃO dará uma mensagem de erro:
<?xml version="1.0" encoding="windows-1252"?>
|
Esta codificação (abrir),
NÃO dará uma mensagem de erro:
<?xml version="1.0" encoding="ISO-8859-1"?>
|
Esta codificação (abrir),
NÃO dará uma mensagem de erro:
<?xml version="1.0" encoding="UTF-8"?>
|
O seguinte arquivo;
note_encode_utf16_u.xml, NÃO dará uma mensagem de erro se você abri-lo com o IE 5.0, mas se você abri-lo com o Netscape 6.2, ele DARÁ uma mensagem de erro.
<?xml version="1.0" encoding="UTF-16"?>
|
Mensagens de Erro
Se vocÊ tentar carregar um documento XML no Internet Explorer 5, você pode obter dois erros diferentes indicando problemas de codificação:
Um caractere inválido foi encontrado no conteúdo de texto.
Você receberá esta mensagem de erro se um caractere no documento XML não combina com o atributo de codificação. Normalmente você obterá esta mensagem de erro se o seu documento XML contém caracteres "estrangeiros", e o arquivo foi salvo com um editor de codificação single-byte como o Notepad, e nenhum atributo de codificação foi especificado.
Mudança da codificação atual para a codificação especificada não suportada.
Você obterá esta mensagem de erro se seus arquivos foram salvos como Unicode/UTF-16
mas o atributo de codificação especifica uma codificação single-byte como Windows-1252,
ISO-8859-1 ou UTF-8. Você tqambém pode obter esta mensagem de erro se o seu documento foi salvo com codificação single-byte, mas o atributo de codificação especifica uma codificação double-byte
como UTF-16.
Conclusão
A conclusão é que o atributo de codificação deve especificar a codificação usada quando o documento foi salvo. Meu melhor conselho para evitar erros é:
- Use um editor que suporte codificação.
- Certifique-se de qual codificação ele usa.
- Use o mesmo atributo de codificação nos seus documentos XML.
|