Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

ADE_5

problemas com acentuação no postgres

Recommended Posts

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

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

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

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

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.