Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

(RNU) Ruan Silva

Erro na codificação ao incluir arquivos

Recommended Posts

Boa tarde a todos,

 

Estou com um problema que está me perseguindo. Eu iniciei um projeto em um PC com windows. Fiz a parte de layout e criei páginas a serem incluidas(topo, menu, rodapé).

 

Porém, ao mudar meu projeto pro ubuntu, quando abri o arquivo fonte a primeira vez, as palavras que eram acentuadas todas ficaram com aquele caracter de interrogação (no código fonte x.x).

Primeiro eu apaguei as interrogações e aparentemente corrigiu mas, quando eu abro o site pelo meu localhost, somente os acentos que estão contidos no index.php aparecem, outros acentos (como o topo que é incluido no index) ficam com o sinal de interrogação. To usando o utf8 no meta do html, e nenhum desses arquivos está puxando nada do banco de dados ainda rsr.

 

O que pode ser?

Compartilhar este post


Link para o post
Compartilhar em outros sites

É um consenso da comunidade PHP que os projetos devem ser escritos com codificação em UTF-8.

 

Outro consenso, é utilizar LF (line feed linux) ao invés de CRLF (Carrier return + line feed windows). Mas esse último não afeta a exibição do HTML.

 

Voltando ao tópico, você deve:

 

HTML 4.01:

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

HTML 5 (a anterior também é válida, mas use a short, economiza caracteres):

<meta charset="utf-8" />

Os arquivos em PHP devem estar configurados em UTF-8 sem/without BOM (Byte Order Mark). De preferência para formato linux (LF).

 

Também deve verificar se o seu editor não converte a codificação ao abrir/salvar o arquivo. Muitos editores forçam essa conversão.

 

Conexões com banco de dados devem estar configuradas em UTF-8.

 

PHP < 5.3.6

$pdo = new PDO( 
    'mysql:host=hostname;dbname=defaultDbName', 
    'username', 
    'password', 
    array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8") 
); 

PHP >= 5.3.6

$pdo = new PDO(
    'mysql:host=hostname;dbname=defaultDbName;charset=utf8',
    'username',
    'password'
);

Se seguir essas configurações, não terá problemas com os seus projetos.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então, realmente a onda é com o editor que estou usando (no caso o sublime). Quando eu migrei o projeto pro linux, eu abri os arquivos pelo nano e eles apresentavam os caracteres que citei, então corrigir (pelo nano mesmo) e foi resolvido. Depois de instalar o sublime os caracteres aparecem como interrogação quando eu abro no navegador, mas no editor de texto ele fica normal.

E agora? Eu imagino que no sublime ele vai continuar a exibir isso mais pra frente x.x

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.