Verificando o cabeçalho HTTP

i18n Checker

Mozilla Web-sniffer

Delorie HTTP Header Viewer

Rex Swain's HTTP Viewer

W3C Markup Validator [extended interface]

Pergunta: Como posso verificar as informações sobre codificação de caracteres enviadas no cabeçalho HTTP de um documento web?

É muito importante indicar claramente a codificação de caracteres (charset) de um documento servido na Web. Se tal indicação não for feita, o agente receptor do documento poderá interpretá-lo de maneira incorreta. Um navegador, por exemplo, poderá mostrar caracteres aleatórios tornando um texto ilegível. Uma das maneiras de se indicar a codificação de caracteres de um documento é colocando tal informação no parâmetro charset do cabeçalho Content-Type.

Em particular, é importante notar que uma codificação de caracteres declarada no cabeçalho HTTP tem precedência sobre aquelas declaradas no documento HTML e/ou nas CSS.

The i18n Checker

A ferramenta Internationalization Checker tool, desenvolvida pelo W3C faz a verificação de páginas web em vários aspectos que dizem respeito à internacionalização. Ela fornece um sumário com as informações relacionadas aos principais aspectos da internacionalização, tais como codificação de caracteres, declaração de idioma, etc. No sumário você poderá verificar se a declaração de caracteres foi feita no cabeçalho HTTP e qual foi a declaração.

A ferramenta i18n Checker é bastante útil, pois ela mostra também outras declarações de caracteres feitas no documento e alerta caso encontre diferenças.

Uso de um serviço disponível na Web

Pode-se usar um dos vários serviços online, que mostram os cabeçalhos HTTP e o código fonte (HTML/XHTML) de um documento, bastando que você entre com o endereço do documento a verificar:

Nota: O W3C não tem qualquer tipo de vínculo com estes serviços.

Nos cabeçalhos HTTP, procure pelo cabeçalho Content-Type e em particular pelo parâmetro charset como mostrado no exemplo a seguir:

Content-Type: text/html; charset=utf-8

Nota: O parâmetro charset poderá estar ausente. Isto é perfeitamente normal se a codificação de caracteres foi indicada no próprio documento.

Uso do serviço de validação da marcação do W3C

Para verificar o código de marcação de um documento, o serviço de validação da marcação precisa decodificar o documento corretamente. Caso não haja informação sobre a codificação de caracteres ou as informações sejam conflitantes ou ainda se não for possível decodificar com a informação fornecida, o validador retornará uma mensagem de erro.

Para saber qual foi a codificação detectada pelo validador, você deverá usar a interface extendida do validador. Naquela interface, você poderá ainda marcar a opção exibir o código fonte e então verificar visualmente se o código foi corretamente interpretado. Isto é útil para verificar se você usou uma codificação correta. Nem sempre é possível verificar mecanicamente se, por exemplo, um documento evocando uma codificação iso-8859-1 foi codificado segundo a iso-8859-2 ou outra codificação qualquer.

Uso de telnet ou outra ferramenta linha de comando

Esta maneira requer mais experiência, contudo pode ser facilmente automatizada. Uma ferramenta via linha de comando pode ser wget (com as opções -S ou -s).

A propósito

Alguns servidores transcodificam documentos Web com diferentes codificações de caracteres de acordo com o cliente a que servem. Isto acontece, por exemplo, com alguns servidores da Rússia. Aqui se requer um cuidado especial, pois para um navegador rodando em ambiente Mac ou em ambiente Windows haverá conflito com a codificação de um serviço online ou com o serviço de validação da marcação do W3C (os quais são baseados em sistemas UNIX).