Caracteres inválidos no apache no debian

1

Eu tenho um servidor Apache em uma máquina Debian,

Eu também tenho o PHP instalado, existem alguns caracteres ruins, mostrados em todos os sites que estão hospedados naquela máquina.

Por exemplo, em vez de

it's 

mostra

it�s

Eu acho que este é provavelmente um problema do Apache porque o mesmo código e banco de dados funciona perfeitamente em outro lugar, eu não tenho certeza absoluta, então que tipo de coisas eu teria que fazer para corrigir isso?

    
por user893730 09.01.2012 / 22:14

1 resposta

1

Parece que algo está errado com a codificação de caracteres. Algumas coisas que você pode tentar:

Já tentou definir o conjunto de caracteres da sua saída HTML explicitamente para corresponder ao conjunto de caracteres do seu banco de dados? Por exemplo, se seu banco de dados tiver UTF-8, tente declará-lo em uma meta tag dentro de <head> tags:

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

Para o HTML 5, é muito mais curto:

<meta charset="UTF-8" />

Para o mysql, você pode descobrir qual conjunto de caracteres seu banco de dados está usando executando as seguintes instruções:

USE <databasename>;
SHOW VARIABLES LIKE 'character_set_database';

Outro DBMS terá declarações semelhantes.

No entanto, eu não acho que você precise repetir isso para cada página / site (mas certamente não faz mal se você o fizer): É claro que é mais fácil alterar o conjunto de caracteres padrão do Apache, ajustando a diretiva AddDefaultCharset no arquivo httpd.conf ou apache2.conf ou onde quer que sua configuração principal esteja localizada:

# AddDefaultCharset Somethingelse
AddDefaultCharset UTF-8

Recarregue o apache depois.

    
por 10.01.2012 / 00:21