Problemas com UFT-8 e ISO8859-1 em PHP/Mysql

14 02 2008

Imagine a situação:

Você cria uma página php com codificação UTF-8.

Cria o banco de dados também UTF-8;

Cria as tabelas TAMBÉM em UTF-8…

Mas quando envia dados de um formulário para o seu banco ou quando vai ler informações desse mesmo banco a acentuação fica toda estranha!!! E você fica batendo cabeça para entender o problema!!! Horas à fio….

Faça o seguinte… logo após efetuar a conexão com o mysql… ex.:

mysql_connect($server,$user,$pass);

Execute…

mysql_query("SET NAMES 'utf8';");

Com isso os dados trafegados entre sua página e o servidor mysql não serão codificados/decodificados para conjunto de caracteres estranhos e tudo fica UTF-8!!!

Use o SET NAMES para o “charset” que você estiver usando tanto na página quando no banco.

Espero ter ajudado!!! 😉

Anúncios

Ações

Information

30 responses

28 02 2008
Ronaldo

Fala ae bil!!!!

tava exatamente com esse problema… 😀
hoje tava falando com o Matheus e ele me falou do site Sabor de Verão, fui ver como ficou, e vi o teu link… e “a primeira coisa q vejo?” a solução do meu problema… ah ficou muito bom o site lá…. Valew!!!

17 07 2008
Muito Bom!!!

Brother muito boa essa solução!
Me ajudou muito.
Parabéns!

Abraço!!!

2 09 2008
Felipe

Excelente!!
Me tirou uma baita dor de cabeça.

Valeu!!

30 03 2009
Alberto Moreira

Muito bom

tava me matando pra encontrar agora sim!

29 04 2009
Eldon

Cara, vc salvou minha vida, estava a tempos atras disso, e ficava resolvendo somente com utf8_encode e utf8_decode, ÊÊÊÊÊÊÊÊ.

12 09 2009
Mattheus

Cara você salvou minha vida…

7 12 2009
Óliver

Vc nem imagina como me salvou. quase 60 dias de esforço pra encontrar essa dica quente.

1 03 2010
André Bastos

Caraca mano muito show, estava com esse problema nos acentos e caracteres especiais.

Sua solução foi marailhosa e o resultado então magnifico.

Geralmente eu não respondo nessas postagens, mais essa eu tive que comentar, muito obrigado e parabéns realmente me ajudou!

Grande abraço, dedee

2 03 2010
alberane

Olá André!

Que bom que foi útil, esse é a intenção!

Obrigado pelo comentário. 😉

22 04 2010
João Paulo

muito bom… estive procurandl algo.. o dia inteiro…
valeu…
Deus te abençoe muito…

20 08 2010
Jairo

Cara muito obrigado, era disso q eu estava precisando!
Abraços cara!

12 02 2011
Ademir

Ótima solução, resolveu meu problema!
Estava procurando a solução desses caracteres que nem louco e você foi fera! Valeu!!!

Sucesso!

15 04 2011
Diego Rangel

Poxa fera! Muito bom! Era exatamente isso que eu estava precisando! Valeu!

3 05 2011
Fábio

Vc deu a morta pra genti! Essa dica terminou com todos os meus problemas aqui. Valeu aí bixo!!

14 06 2011
victor matuk

perfeito, acabou com os meus problema também

6 10 2011
Victor

Ótimo POST!

Só uma dúvida, e se eu escrever em uma página HTML uma palavra com acentuação tipo “ACENTUAÇÃO” na página, não salvando em BD, e “importar” com o LOAD via jquery, vai reportar caracteres inválidos, há como “importar” essa página html sem ter de converter os caracteres para utf8 e sair correto ?

Forte Abraço!

7 10 2011
alberane

Não se se entendi… mas usando jquery é possível definirmos a codificação ao usar a função load()…. é alguma coisa parecida com isso…

$.ajaxSetup({
scriptCharset: “utf-8” ,
contentType: “text/html; charset=utf-8”
});

Com isso a sua chamada virá em utf-8.

15 10 2011
Lucas

flw demais mano !

15 10 2011
Lucas

vlw

4 07 2012
Alexandre Xantals

… isso foi ótimo … já estava tentando há umas 3 horas … MUITO OBRIGADO …

18 07 2012
Dérick Hogan Pimenta

Justamente o que eu estava precisando. Muito obrigado!

13 10 2012
NILTON SOARES ROCHA

Era justamente isto que eu estava procurando agora os dados são inseridos corretamente. Muito obrigado por esta dica preciosa.

12 04 2013
Paulo Chagas

Perfeito!

14 05 2013
junior

muito bom cara, simples e objetivo…valeu a força
mysql_query(“SET NAMES ‘utf -8’;”);

27 05 2013
César

PERFEITO!
Estava com este problema ao recuperar dados do BD.

20 06 2013
Antonio Sales

Coloque isso no que funciona.

25 07 2013
Davi Osval Wagner

Muito bom cara, ainda mais pra mim que sou iniciante em PHP e estou aprendendo SOMENTE em vídeo aulas. E isso me tirou uma dor de cabeça de MESES!

14 01 2014
Crobbs

Sem comentários!! Muito bom! Parabéns.

6 02 2014
Karlos

Perdi um bom tempo tentando achar o erro…
Muito obrigado pela solução!

27 05 2015
Diogo Leitoles Bandeira

Cara, que maravilha de dica! Salvou várias horas de cabeça quebrada por aqui!!!
Grande abraço!

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s




%d blogueiros gostam disto: