ADE_5 0 Denunciar post Postado Maio 26, 2011 Bom dia Pessoal! Estou criando um form para cadastro de clientes em um sistema web! meu problema é que ao cadastrar um usuário cujo nome possui acentos ex: João o bd postgres coloca caracteres especiais (JOãO). Tentei substituir os acentos por entidades html desta forma: function removerAcentos($string) { $a = array ( "'[Ã]'" => "Ã", "'[Á]'" => "Á", ... ); return preg_replace(array_keys($a), array_values($a), $string); } $nome = strtoupper($_POST['nome']); $nome = removerAcentos("$nome"); ele até acrescenta as entidades HTML mas também coloca outro caracter | no bd. Alguém sabe como posso resolver este problema, ou qual seria a forma mais correta de se fazer isso? Obrigado! Compartilhar este post Link para o post Compartilhar em outros sites
leanribas 0 Denunciar post Postado Maio 26, 2011 Boa noite! Qual o encoding do banco postgres que você está usando? Eu uso 'LATIN1' e tem funcionado bem. Outra coisa que você pode verifica e se a acentuação já está vindo errada no post. Falou. Compartilhar este post Link para o post Compartilhar em outros sites
ADE_5 0 Denunciar post Postado Maio 27, 2011 Bom dia leanribas! Obrigado pela resposta. Bom, eu uso LATIN1 Quanto ao POST, verifiquei e está sendo enviado de forma correta. Na página PHP que envia estou utilizando desta forma <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> Espero que alguém possa me ajudar! Abraço! Compartilhar este post Link para o post Compartilhar em outros sites
Back-on 14 Denunciar post Postado Maio 27, 2011 Pelo jeito você não está usando o charset: <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> e/ou <meta http-equiv="Content-Type" content="text/html; charset=utf8" /> ;] Compartilhar este post Link para o post Compartilhar em outros sites