18/07/2012

Sempre que preciso de fazer alguma coisa em HTML, PHP e/ou MySQL, lá vem o problema da codificação de caracteres!
No MySQL a codificação que utilizo é UTF8_General_CI e no HTML utilizo charset=UTF-8.
À partida, parece que tudo deveria correr bem!
Acontece que por omissão, quando é feita a ligação ao MySQL, o charset utilizado é o latin1, o que estraga logo a visualização dos caracteres (especiais).
A melhor solução que arranjei foi colocar a seguinte instrução, a seguir à definição da ligação à BD (mysql_connect):

#mysql_set_charset('utf8',$ligacao);

Caso não queisram utilizar esta solução e queiram apenas mudar a visualização de um ou outra variável, podem utilizar uma das seguintes instruções:

#utf8_encode($variavel);

#htmlentities($variavel);

Normalmente utilizo o xampp para Linux (lampp) para programar nestas plataformas, mas deve acontecer também em outras (mesmo quem utiliza Windows). Esta situação ocorre-me sempre ao ponto de me passar completamente com isto, então hoje, decidi despender 1 hora da minha vida a pesquisar com pés e cabeça sobre este assunto.

A codificação de caracteres é assunto que dá pano para mangas! De qualquer forma penso que estas instruções em PHP já ajudam bastante.


2 comentários:

Fernanda disse...

Obrigado pela dica!

Fernanda disse...

Obrigado pela dica!