ORisonho 0 Denunciar post Postado Dezembro 21, 2009 E ai pessoal...nunca imaginei que teria que abrir um tópico sobre algo que parece ser simple smas que eu to apanhando. Eu sempre construo meus códigos com essa tag principal <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />Nunca tive problemas em mecher com xhtml, html ou até mesmo o php, mas HOJE mechendo num código aqui e os textos que vem do BANCO DE DADOS MY/SQL estão vindo com ERRO na hora da acentuação,dai procurei na internet que eu deveria colocar esse seguinte código: <?php header("Content-Type: text/html; charset=ISO-8859-1",true) ;?>Mas quando faço isso ele INVERTE, ou seja, as informações do BANCO DE DADOS MY/SQL são mostradas com acentuação correta, mas as que antes estavam todas corretas (php, html, xml) ficam todas ERRADAS, dai já viu...to apanhando aqui pra isso sem saber uma maneria de fazer essa bendita acentuação funcionar para as informações do Banco de Dados sem prejudicar os outros textos. Desde já agradeço a ajuda de todos. Compartilhar este post Link para o post Compartilhar em outros sites
brcontainer 16 Denunciar post Postado Dezembro 21, 2009 Amigo use assim no HTML: <?php header("Content-Type: text/html; charset=ISO-8859-1",true);/*esta parte é boa para força o navegador a usar a codificação "correta"*/ ?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /> e no mysql converta sua codificação que provavelmente esta e utf-8 para latin1 Leia: http://dev.mysql.com/doc/refman/5.0/en/charset-we-sets.html ;) tenho quase certeza que as suas tabelas mysql estão em utf-8 ou outra codificação use latin1, exemplo na hora de criar: CREATE TABLE `acessos` ( `key` int(11) NOT NULL, `login` varchar(15) NOT NULL, PRIMARY KEY (`key`), ) ENGINE=MyISAM DEFAULT CHARSET=latin1; você pode alterar tem varias alternativas ;) Compartilhar este post Link para o post Compartilhar em outros sites
ORisonho 0 Denunciar post Postado Dezembro 21, 2009 Aê que a situação complica....meu banco esta todo em latin1_swedish_ci O que naturalmente faria eu não ter esse problema de acentuação da qual estou passando. Mas vou testar o seu código e ver se da certo aqui. Compartilhar este post Link para o post Compartilhar em outros sites
Beraldo 864 Denunciar post Postado Dezembro 21, 2009 se entendi bem, é o contrário do que o silverfox postou. O HTML está em utf8 e o banco, em latin1. Mas isso é o menos importante. O que importa é manter TUDO na mesma codificação. Eu prefiro UTF-8, que é padrão que vem sendo adotado pela maioria das aplicações, seja WEB ou desktop. Veja: http://www.rberaldo.com.br/blog/2009/11/06/problemas-com-codificacao-acentos-nao-interpretados/ Preste atenção à codificação do arquivo, definido no editor de textos. Muitos não dão atenção a esse detalhe Compartilhar este post Link para o post Compartilhar em outros sites
brcontainer 16 Denunciar post Postado Dezembro 21, 2009 Sim no caso se for preferir usar utf-8 então faça assim NO html: <?php header("Content-Type: text/html; charset=UTF-8",true);/*esta parte é boa para força o navegador a usar a codificação "correta"*/ ?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> Veja se resolve amigo, lembre-se utf-8 é utf-8 e iso é iso portanto poderá ocorrer conflitos ao usar ambos na mesma aplicação. Compartilhar este post Link para o post Compartilhar em outros sites
Beraldo 864 Denunciar post Postado Dezembro 21, 2009 apenas adicionar header() e meta-tag não vai resolver. o problema é conflito de codificação. Ou você usa utf8_encode() nos valores vindos do banco ou converte o banco para utf8 a segunda opção é melhor. Parece mais difícil, ams dá para fazer tudo com comandos SQL, rapidamente Compartilhar este post Link para o post Compartilhar em outros sites
brcontainer 16 Denunciar post Postado Dezembro 21, 2009 Claro que eu sei disso, o que eu quero dizer é que se for usar utf-8 no sql use utf-8 o html/php tambem e vice-versa, tambem pode ser um problema ao usar o bloco de notas, salvando o arquivo como utf-8 ao inves de ansi, em arquivos com include isto tambem pode influenciar(salver o php em utf-8), sempre salve o documento em ANSI. Compartilhar este post Link para o post Compartilhar em outros sites
ORisonho 0 Denunciar post Postado Dezembro 22, 2009 Eu já achei meu problema, sõ não sei como soluciona-lo. Eu uso um códico para "chamar" a pagina que esta com as informações do banco <?php $p = $_GET['id']; /**/if ( !empty($p) && file_exists('./paginas/' . $p . '.php') && stristr( $p, '.' ) == False ) { $file = './paginas/' . $p . '.php'; } else { $file ='./paginas/venda.php'; } /**/include $file; ?> Tipo, se eu for na página VENDA e carregala SOZINHA no navegador ela vem toda certa sem erros na acentuação, mas quando eu a "chamo" por esse código ai ai ela gera esse erro na acentuação. Deve ser algo simples mas que to apanhando...^_^ Compartilhar este post Link para o post Compartilhar em outros sites
Beraldo 864 Denunciar post Postado Dezembro 22, 2009 verifique a codificação dos arquivo, como eu disse antes. Isso é configurado no editor de textos. Compartilhar este post Link para o post Compartilhar em outros sites
hinom 5 Denunciar post Postado Dezembro 22, 2009 PHP, HTML, MySQL - Charset Encoding obs: utilize o encode UTF8 "without BOOM" (UTF8-ANSI) exemplo usando o Notepad++ Compartilhar este post Link para o post Compartilhar em outros sites
visitante_xp 0 Denunciar post Postado Dezembro 23, 2009 Desculpa me entrometer, mas ja me entrometendo... http://forum.imasters.com.br/public/style_emoticons/default/natal_tongue.gif No caso é melhor colocar o banco como utf-8? Tipow, se em fizer um cadastro direto no banco ou por meio de formulario, a informação estará sempre com a formatação correta? Malz... http://forum.imasters.com.br/public/style_emoticons/default/natal_noel.gif Compartilhar este post Link para o post Compartilhar em outros sites
Beraldo 864 Denunciar post Postado Dezembro 23, 2009 No caso é melhor colocar o banco como utf-8? Tipow, se em fizer um cadastro direto no banco ou por meio de formulario, a informação estará sempre com a formatação correta? O ideal é manter tudo na mesma codificação. Acho utf-8 melhor. E não sou o único, uma vez que essa codificação vem sendo adotada por diversas aplicações. Compartilhar este post Link para o post Compartilhar em outros sites
brcontainer 16 Denunciar post Postado Dezembro 23, 2009 Eu já achei meu problema, sõ não sei como soluciona-lo. Eu uso um códico para "chamar" a pagina que esta com as informações do banco <?php $p = $_GET['id']; /**/if ( !empty($p) && file_exists('./paginas/' . $p . '.php') && stristr( $p, '.' ) == False ) { $file = './paginas/' . $p . '.php'; } else { $file ='./paginas/venda.php'; } /**/include $file; ?> Tipo, se eu for na página VENDA e carregala SOZINHA no navegador ela vem toda certa sem erros na acentuação, mas quando eu a "chamo" por esse código ai ai ela gera esse erro na acentuação. Deve ser algo simples mas que to apanhando...^_^ Talvez seja a codificação diferentes nos arquivos PHP, tipo um foi salvo em utf-8 e outro em ansi, eu recomendo usar utf-8 somente no meta, agora na hora de salvar o arquivo salve todos ANSI ou todos em utf-8, provavelmente é codificação diferentes entre os "*.php" já que a falha é somente no uso do include, pode ter certeza é codificação diferente ;) De uma olhada, se você usa o notepad(bloco de notas), aperte em salvar como... no bloco de notas e escolha estas opções: direto: http://img85.imageshack.us/img85/896/imagemma.jpg abra todos arquivos e escolha sua codificação preferida, ou ANSI ou utf-8. todos devem usar as mesma codificação ;) Compartilhar este post Link para o post Compartilhar em outros sites