Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
E aí. To com uma dúvida: tenho no banco (com collation utf8-general-ci), eu tenho um campo com varchar(1000). Gravei um texto que tem muitos acentos. Mas qdo eu dou um echo, ficam desse jeito: tinham plano de sa�de p�blica. Ja coloquei o meta charset no html, coloquei um header na parte php ( header('Content-Type: text/html. charset=utf-8')) mas ainda assim continua com os caracteres. Como posso arrumar? Se eu abrir o Mysql, la tá td normal, com os acentos...
Eu até coloquei. O problema é que o restante do site ficou com problema. Tem como colocar uma parte com UTF-8 e outra com iso-8859-1?
abre o arquivo no notpad++ e coloca a codificacao utf-8 sem BOM.
Coloque tudo em UTF-8 (banco de dados, html, php, etc.).
Use assim no seu banco de dados utf8_unicode_ci
No php - ini_set( 'default_charset', 'utf-8');
No html -
Não esqueça que você tem que colocar utf8 na hora que está gravando os dados no banco e quando vc exibir os valores tbm.
Cara comigo funciona, no php eu coloco
header("Content-Type: text/html; charset=ISO-8859-1");
e no html
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
Abraço.
O grande problema do ISO-8859-1 é que ele não é algo globalizado. Ele se limita em caracteres latinos (latim, português, espanhol, francês, inglês, italiano, alemão, etc.). O problema começa a aparecer quando você tenta usar caracteres de idiomas não latinos (grego, árabe, hebraico, chinês, russo, coreano, japonês, etc.). E basta pensar um pouquinho que podemos ver que às vezes usamos caracteres desses idiomas sem mesmo perceber.
Noutras palavras, UTF-8 resolve todo o problema de todos os idiomas e você nunca mais precisa se preocupar com caracteres estranhos. Ou seja, use UTF-8 em todos os lugares e não tenha nenhuma dor de cabeça.
Verifique se o banco de dados está todo em UTF-8, os arquivos estão em UTF-8 e o Content-Type está em UTF-8, basta isso.
:seta: Old, but gold: http://www.joelonsoftware.com/articles/Unicode.html
Pelo que vi, ta td em uft8. no banco, ja ta com collation utf8-general-ci, abri no notepad++ e ja to utf-8 without BOM, e tá com content-type utf-8 no html.
deixei como iso-8859-1, e o restante do site escrevi com html entities. aí funcionou certinho.
nao sei se precisa configurar mais alguma coisa....
e aí. consegui. usei o utf8_encode. agora to com outra duvida: gostaria de colocar uma pagina em que pudesse incluir um artigo , por ex. Só se eu escrever por ex assim:
Titulo
Amdifdfds sdg sd9g sdgdgi sdng uds gsd gsd.
sduç gs9ud gs9djof sd gsdif uif sdfsd fd
no banco ele grava desse jeito, mas qdo dou um print, aparece td junto, como um texto corrido
TituloAmdifdfds sdg sd9g sdgdgi sdng uds gsd gsd.sduç gs9ud gs9djof sd gsdif uif sdfsd fd
teria como fazer com que mostrasse do msm jeito que grava?
Opa. Testei aqui e deu certo.
Vlw
Obrigado :)
Coloca no php pra gente ver...
header("Content-Type: text/html; charset=ISO-8859-1");
Abraço.