Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
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?
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
É 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
PHP >= 5.3.6
Se seguir essas configurações, não terá problemas com os seus projetos.