-rafael- 1 Denunciar post Postado Agosto 3, 2010 ola, estou tendo um problema com a codificação utf-8. eu sempre usei a latin-1, mas resolvi mudar. mas na hora q fui conferir os dados gravados no banco, aparecem assim SÃO JOSÉ DO RIO PRETO - SP por que isso acontece? obrigado! Compartilhar este post Link para o post Compartilhar em outros sites
HJHESS 0 Denunciar post Postado Agosto 3, 2010 O banco está UTF8? O HTML está UTF8? O PHP está UTF8? Compartilhar este post Link para o post Compartilhar em outros sites
-rafael- 1 Denunciar post Postado Agosto 3, 2010 o banco e o html sim onde vejo no php? Compartilhar este post Link para o post Compartilhar em outros sites
Paulo de Tarso F. M. 24 Denunciar post Postado Agosto 3, 2010 Mas atenção: nos arquivos HTML não basta adicionar a meta tag informando o charset, o arquivo precisa ser valco com essa codificação também. No caso do PHP, adicione o seguinte: header("Content-Type: text/html; charset=utf-8");Além disso, não se esqueça de, na hora de salvar o arquivo, escolher a codificação correta também (até no bloco de notas isso é possível... :assobiando:). Verifique também se os arquivos HTML estão todos como UTF-8 mesmo, pois, como disse, só a meta tag às vezes não é suficiente, já vi situações em que o charset estava correto, mas o arquivo não estava salvo com a mesma codificação. :joia: Compartilhar este post Link para o post Compartilhar em outros sites
-rafael- 1 Denunciar post Postado Agosto 3, 2010 no caso todos os arquivos do meu sistema eu salvo como '.php'. estou usando o dreamweaver, e salvo os arquivos com utf-8 e com a assinatura unicode (BOM). mas estou tendo dificuldades para fazer aparecer os dados corretamente no meu sistema. e agora para gravar tambem. como devo colocar codigo acima q você passou? obrigado pela atenção. Compartilhar este post Link para o post Compartilhar em outros sites
-rafael- 1 Denunciar post Postado Agosto 4, 2010 tentei aqui e nao consegui ainda ta gravando errado no banco! e agora? tem problema deixar em latin-1? Compartilhar este post Link para o post Compartilhar em outros sites
HJHESS 0 Denunciar post Postado Agosto 4, 2010 Você deve deixar o banco como UTF8. Compartilhar este post Link para o post Compartilhar em outros sites
[ GuTo ] 0 Denunciar post Postado Setembro 3, 2010 Olá, Estou tendo o mesmo problema. E não acho o problema, gostaria de ajuda. Banco de dados: CREATE TABLE document ( id INTEGER UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY, unicodeText VARCHAR(45) NOT NULL ) CHARACTER SET utf8 COLLATE utf8_general_ci; HTML: <meta http-equiv="content-type" content="text/html;charset=utf-8" /> Para garantir, coloquei até no PHP: # Informa qual o conjunto de caracteres será usado. header('Content-Type: text/html; charset=utf-8'); Os dados na página são exibidos corretamente, porém quando dou um INSERT fica tudo zuado. Insiro isto: aã cç eé oõ ií uú eê aâ oô No banco salva isso: aã cç eé oõ ià uú eê aâ oô Depurei minha string SQL que faz a inclusão no banco e ela está vindo assim: INSERT INTO anunciantes SET tipo_id = 1 , RazaoSocial = '' , Nome = 'aã cç eé oõ ií uú eê aâ oô' , Descricao = 'aã cç eé oõ ií uú eê aâ oô' , Email = '' , CEP = '92111333' , Endereco = 'R. Marques 100' , Complemento = '' , Bairro = 'N. Sra. das Graças' , cidade_id = 09 , subcategoria_id = 034 , CPF = '' , CNPJ = '' Olhei este link como referência, porém já sabia disso. Não estou entendo o motivo do problema. Realmente preciso de ajuda. Valeu! Compartilhar este post Link para o post Compartilhar em outros sites
[ GuTo ] 0 Denunciar post Postado Setembro 3, 2010 No momento vi que o problema está somente quando envio os dados pelo método POST (quando faço um update/insert no banco). Logo, resolvi fazendo isso: http://alberane.wordpress.com/2008/02/14/problemas-com-uft-8-e-iso8859-1-em-phpmysql/ 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!!! PORÉM, CREIO QUE ESSA NÃO SEJA A SOLUÇÃO MAIS APROPRIADA. Se alguém souber, agradeço de coração. Compartilhar este post Link para o post Compartilhar em outros sites
WM _ Guilherme Ferrolli 0 Denunciar post Postado Setembro 3, 2010 existem várias funções que depuram caracteres de todos os formatos convertendo para caracteres compreensíveis em html. utf8_encode(); htmlentities(); htmlspecialchars(); porém pelo que entendi. o problema todo não são os dados que aparecem para o usuário e sim como aparecem no base. Porém pergunto. Qual diferença isso faz? quero dizer, você envia algo pro banco : ex: <?php $nome = htmlentities($_POST['nome']); $login = htmlentities($_POST['login']); $sql = mysql_query("insert into `tabela` (`nome`,`login`)VALUES ('$nome','$login'); ?> Os dados que forem inseridos não serão legíveis ou traduzíveis para nós. Mas quando você for dar o output nos dados sairão perfeitos.Não vejo problema. Há outras diversas formas de se fazer a mesma coisa. mas de qualquer forma, porque se preocupar com o que esta no banco? caso for fazer alguma verificação , ex: <?php $login = htmlentities($_POST['login']); $sql = mysql_query("select * from `tabela` where `login` = '$login'"); ?> Bom, eu sei que não é a melhor forma de se fazer isto, mas isto é uma coisa tão simples e não influencia , inclusive,se vocês forem usar uma função anti Injection por exemplo , vão ter que lidar com a conversão de determinados caracteres que vão aparecer estranhos no banco, portanto basta somente definir header('Content-Type: text/html; charset=utf-8'); //// Html <meta http-equiv="content-type" content="text/html;charset=utf-8" /> e deixar que o navegador faça o restoAbraços Compartilhar este post Link para o post Compartilhar em outros sites
[ GuTo ] 0 Denunciar post Postado Setembro 3, 2010 Quando eu pego o valor que foi com problema pro banco, ele também vem com problema. Tenho que inserir sem problema para poder visualizar sem problema. Na verdade optei por não usar o SET NAMES mais, mas sim o mysql_set_charset('utf8'); Compartilhar este post Link para o post Compartilhar em outros sites
- KbeçãO - 0 Denunciar post Postado Setembro 3, 2010 estou com o msmo problema... x/ Compartilhar este post Link para o post Compartilhar em outros sites
tony_lu 1 Denunciar post Postado Outubro 6, 2010 Pessoal, também tive o mesmo problema... segue um tutorial para ajudar: http://www.sosdesigners.com/artigo/problemas-com-utf-8-with-bom- espero ter ajudado. abs! Compartilhar este post Link para o post Compartilhar em outros sites