GDH Press: Blog » ISO-8859-1 x UTF8: Solucionando problemas com o charset
 
RSS

ISO-8859-1 x UTF8: Solucionando problemas com o charset

Publicado em 18/08/2008 – 06:01
por Carlos Morimoto

Um problema muito comum ao utilizar o Apache 2 sobre uma distribuição Linux recente é os caracteres acentuados das páginas hospedadas aparecerem trocados por interrogações, quadrados ou vírgulas em alguns navegadores.

Isso acontece em situações onde os arquivos das páginas hospedadas no servidor foram salvos usando o charset ISO-8859-1 (ou outro dos charsets pré-unicode) e o servidor Apache está configurado para usar UTF-8, que é o default no Ubuntu e na maioria das distribuições atuais.

Para solucionar o impasse, você tem basicamente três opções. A primeira é especificar o charset correto no header de cada página do site, o que é feito adicionando uma tag "meta" dentro da seção "head" da página, como em:

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
ou:
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />

Algumas versões antigas do Internet Explorer entendem apenas a tag "http-equiv…". Você pode adicioná-la também, de forma a manter compatibilidade com elas, como em:

<http-equiv="Content-Type" content="text/html; charset=utf-8">

Continuando, a segunda opção é mudar a configuração do Apache para que ele passe a utilizar o ISO-8859-1 como charset padrão, em vez do UTF-8. Nas distribuições derivadas do Debian, isso é definido no arquivo "/etc/apache2/conf.d/charset". Edite o arquivo, substituindo a linha:

AddDefaultCharset UTF-8

por:

AddDefaultCharset ISO-8859-1

Se, por acaso, o arquivo "/etc/apache2/conf.d/charset" não estiver disponível (ou a configuração não surtir efeito), edite o arquivo "/etc/apache2/apache2.conf", descomentando (ou adicionando) a mesma linha.

» Leia mais: Solucionando problemas com o charset

» Mais posts

  1. 2 respostas para “ISO-8859-1 x UTF8: Solucionando problemas com o charset”

  2. Renato em 18 ago, 2008

    Tem a opção de fazer a conversão do encoding do arquivo pelo próprio vim;
    para iso8859-1
    :set fileencoding=latin1
    ou
    para UTF-8
    :set fileencoding=utf-8

  3. Fernando em 22 mai, 2009

    Amigo estou usando o charset iso, mas somente a página especificada no campo site esta dando problemas pode me ajudar? O site esta na locaweb.


Comente: