Problemas de Codificação: UTF8 – ISO-8859-1


ill-workgrp-sm.gifSabe quando você está tentando inserir dados de uma página web num banco de dados MySQL e a codificação fica toda errada? Então já passei por isso várias vezes e descobri que é simples resolver, é uma questão de lógica.

O que acontece é que geralmente a gente não se preocupa ou não tem controle total dos dois lados, cliente e servidor, então programamos por exemplo um formulário ou um cliente de webservice que pega os dados da maneira que vem e tentamos enfiar no banco de qualquer jeito sem se preocupar com a codificação que o banco está utilizando.

Portanto, para resolver tal problema e acabar com a dor de cabeça, é só definir qual será a codificação da página e também qual a codificação que o banco de dados utilizará. Se não tiver controle dessa codificação no banco, então converta os dados para a codificação que o BD está utilizando.

Por exemplo, se sabe que o banco de dados está utilizando latin1 (ISO-8859-1) então utilize um Content-type na página com a mesma codificação e se ainda assim não estiver tendo resultados positivos então converta os dados de cada campo do formulário ou do array JSON por exemplo com a função: iconv(‘UTF-8′,’ISO-8859-1’,’Informação a ser convertida). Esta função funciona assim: os dados do primeiro parâmetro, dizem qual é a codificação da informação que será convertida, o segundo parâmetro diz para qual codificação você deseja que seja convertido e o terceiro parâmetro é a informação que você deseja converter.

Isso já me ajudou muito nas horas em que eu estava quebrando a cabeça, tentando entender porque eu enviava as informações de um jeito e elas chegavam no banco de dados de outro jeito.

Então é isso pessoal, espero ter ajudado compartilhando essa experiência com vocês. Um grande abraço!

Últimos 5 artigos de Carlos Soglia

Sobre Carlos Soglia

De Maracás-BA, tecnólogo em Desenvolvimento de Sistemas para Internet pela Faculdade IBTA / Metrocamp. Ministrou aulas de Web Design e o Módulo Dot Net(Pacote Office) na Microcamp por 3 anos. Atualmente trabalha como desenvolvedor Web, utilizando principalmente PHP para desenvolvimento dos Projetos e também administra toda a parte de Marketing Digital e Comunicação Visual há mais de 2,5 anos numa empresa de tecnologia. Possui conhecimentos em JAVA, principalmente para WEB (J2EE), Hardware, Banco de dados MySQL e SQL Server, VB 6.0, XML, DOM, HTML 4 e 5, CSS 2.0 e 3.0, JavaScript, JQuery, Ajax, ASP 2.0, Action Script 3.0 e está atualmente estudando a tecnologia Android. Na área de Design e criação gráfica utiliza Photoshop CS6, Dreamweaver para desenvolvimento e estruturação de páginas web, CorelDraw X6, Ilustrator e Fireworks CS6.

Deixe uma resposta