Tipo de conteúdo e codificação de caracteres identificados correctamente

Para que os conteúdos de um sítio web possam ser processados pelo Arquivo.pt, é fundamental que o tipo de conteúdo e codificação de caracteres estejam identificados correctamente.

O tipo de cada conteúdo (MIME type) tem de ser correctamente identificado para poder ser processado. Para este feito, deverá ser definido o valor do campo Content-Type a dois níveis:

  • Campo Content-Type do cabeçalho HTTP: resposta devolvida a um pedido HEAD devolvido pelo servidor antes de ser feita a descarga do conteúdo.
  • Meta-tag Content-Type: etiqueta incluída no código de cada página. Por exemplo:
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

Estas duas fontes de informação têm de ser coerentes entre si.

Identificação correta da codificação de caracteres (charsets)

O valor do Content-Type é constituído por dois componentes: o tipo (MIME) e a codificação de caracteres (charset).

É necessária especial atenção com a identificação correcta da codificação de caracteres para evitar que caracteres usados numa página para evitar que acentos ou cedilhas sejam apresentados de forma incorrecta (ex. “codificação” em vez de “codificação”).

Identificar problemas com codificações de caracteres pode ser complexo porque os browsers reagem de maneira diferente a situações de erro. Quando uma página apresenta erros na apresentação de alguns caracteres, muito provavelmente este problema deve-se aos valores fornecidos no Content-Type estarem errados.

O seguinte procedimento permite identificar qual a codificação de caracteres correcta para uma página:

  1. Aceda ao cabeçalho HTTP (field Content-Type) para o endereço da página a testar. Para este efeito, poderá usar por exemplo o Rex Swain’s HTTP Viewer ou o Web-sniffer e identifique a codificação de caracteres descrita na resposta. Por exemplo, se o campo indicar o valor “text/html; charset=utf-8“, significa que a página estará codificada usando a norma UTF-8. Segundo o protocolo HTTP, se o valor do charset não estiver definido deve-se assumir que foi retornado o valor ISO-8859-1;
  2. Abra a página usando o browser Firefox, clique no botão do lado direito, selecccione View Page Source e procure no código a meta tag http-equiv=”Content-Type”. Caso esta exista, certifique-se que o valor é coerente com o cabeçalho HTTP. Se não estiver, um dos valores está incorrecto;
  3. No Firefox, selecione View -> Character Encoding e o tipos que identificou no cabeçalho e meta tag. Para cada caso, verifique se o texto da página é correctamente apresentado, analisando com particular atenção os caracteres acentuados e cedilhas;
  4. A página apresentou erros em ambos os casos. Ambos os valores para o charset poderão estar errados ou o problema poderá ter outra origem. Não lhe resta alternativa senão tentar adivinhar qual será o charset correcto tentando as várias opções de Character Encoding no Firefox. Em todo o caso, se possível informe o autor da página acerca do problema.