Ir para conteúdo

Arquivado

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

Lord_Rato

Problemas de acentuação PHP MySQL

Recommended Posts

Olá pessoal.

 

Estou com problemas em relação ao charset de um programa php que criei. Eu não tinha problemas com meu código enquanto estava com windows 7 e o wamp instalados, mas mudei para o Linux e fiz todas as instalações corretamente do apache2/php5/mysql, só estou com problemas com relação ao charset. Fiz todas as configurações de MySQL para que a database fique em utf-8 (ALTER DATABASE `bancodedados` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;) no php.ini também está configurado para utf-8. No Eclipse está configurado para salvar os documentos em utf-8, e nos codigos html também está apontado com charset utf-8.

No entando, ao colocar em meu formulário a palavra Razão para gravação, no MySQL fica gravado como Razão, já tentei mudar tudo pro latin1 mais a acentuação fica pior.
Todo este meu problema ocorreu depois de começar a usar Linux, não sei se falta alguma configuração para que o resultado seja o esperado.
Espero que possam me ajudar.
Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

EU recomendaria colocar so o UTf-8 nas paginas, em vez do banco

Compartilhar este post


Link para o post
Compartilhar em outros sites

TODA a sua aplicação precisa estar em UTF-8 (banco, arquivos, HTML etc)

 

E não adianta só trocar a codificação da tabela. Tem que migrar os dados, removendo caracteres não-UTF-8

 

Veja este meu tutorial

Compartilhar este post


Link para o post
Compartilhar em outros sites

Obrigado por tentatem ajudar galera.

Resolvi o problema colocando toda a configuração para UTF-8 (html/php/mysql) como expliquei anteriormente, e, um amigo programador me disse que eu deveria informar no arquivo de conexão com o banco o charset que eu deveria utilizar, então acrescentei apenas duas linhas no codigo para resolver:

 

ini_set('default_charset', 'UTF-8'); //esta linha antes de criar a variavel conexao
$conexao->query("SET NAMES utf8"); // esta linha depois dela criada.

 

Com isso, tanto a leitura quanto a gravação passaram a ser em UTF-8.

Mais uma vez obrigado por ajudarem.

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.