Trocar a Codificação de Caracteres Padrão do PHP – Problemas com UTF-8

Normalmente, quando estamos desenvolvendo aplicações em php, estamos sempre testando códigos que precisam imprimir alguma informação na tela, e como é código rápido sempre nos esquecemos que os caracteres acentuados vão ficar aquelas coisas horríveis.

Depois de muito tempo sofrendo com as incompatibilidades do PHP, Mysql e Ajax para lidar com UTF-8, eu descobri várias artimanhas simples para resolver meus problemas, e que hoje se constituem um verdadeiro arsenal para eu colocar nos projetos que volta e meia estou fazendo.

Quando eu estava criando um script de testes eu me pegava colocando a tag meta antes de abrir o PHP:



<meta charset="utf-8" />

<?php

...

Foi quando pela primeira vez foi olhar no PHP.INI e ver se tinha alguma coisa que definisse o charset padrão do PHP, e para qual surpresa minha, tem!

E o mais gozado, é que é PHP_INI_ALL, ou seja, eu posso configurar meus scripts também, além do arquivo php.ini, usando a funcao ini_set():



<?php

ini_set( 'default_charset', 'utf-8');

Bom, com isto, estou resolvendo um zilhão de problemas bestas!

E mais interessante é que se eu fizer isto:



<?php

ini_set( 'default_charset', 'utf-8');

?>

<meta charset="iso-8859-1" />

O PHP vai dar preferência ao default_charset.

Agora já era dor de cabeças com imcompatibilidades, já vou direto colocando um charset no ini_set() e como faço um monte de include() para os meus testes, nem minhas aplicações e sites ou testes terão caracteres estranhos me azucrinando!

Besteira, mas ajuda!