18/07/2012

Problemas com codificação de caracteres (UTF-8 vs ISO-8859-1)

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.


Share:

Vamos beber um café?

Your language

Categories

Actualizações (3) Aplicativos (8) Apple (1) AZ-104 (1) Azure (1) Bash/Shell (32) Berbicachos (5) CentOS (9) CM (17) Containers (1) Curiosidades (1) Debian (21) Dicas (2) Docker (2) encriptação (1) FreeBSD (1) Freenas (1) Gnome (5) Informação (20) Java (1) Jogos (1) Kde (5) Kubernetes (4) Kubuntu (25) LibreOffice (1) Linu (1) Linux (8) LinuxMint (7) LoadBalancer (1) MAC OS X (1) Monitorização (1) Multimédia (5) MySQL (7) openSuse (7) Opinião (3) Oracle Linux (1) Perl (1) PHP (4) Plugin (1) ppc (1) Rapidinhas (21) Redhat (2) Scripts (1) Segurança (2) Tutoriais (8) Ubuntu (28) Virtualizacao (6) Wine (1)

Popular Posts

Blog Archive

Aventux. Com tecnologia do Blogger.

Seguidores