Eu estou tentando resolver um problema com caracteres que são gravados no banco com acentuação trocada. Tentei resolver alterando o collation, mas não sei para qual configuração trocar. O problema começou quando atualizei o EasyPHP para a versao 5.2.10.
Como devem ser estas configuraçãoes para que a acentuação de certo?
Como deve ser setado o collation? como deve ser setada a meta tag?
a meta tag da pagina que executa o insert esta assim:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
OBS executei o comando SHOW VARIABLES LIKE 'character%'; e ele imprimiu:
Variable_name Value
character_set_client utf8
character_set_connection utf8
character_set_database utf8
character_set_filesystem binary
character_set_results utf8
character_set_server latin1
character_set_system utf8
character_sets_dir C:\Arquivos de programas\EasyPHP5.2.10\mysql\share...

Problemas Com Caracteres
Started By ratazana, 12/06/2010, 12:25
5 replies to this topic
#2
Posted 14/06/2010, 10:16
Olha, se ainda n resolveu, tente o seguinte:
ao criar 1 nova tabela no phpmyadmin (n uso esse programa, acho mt complicado),
vc deve configurar o collation p/ cada novo campo como latin1.bin
(q é o correspondente ao iso-8859-1, europeu ocidental);
em tabelas ja existentes, siga os passos:
abra a pg principal do phpmyadmin (localhost),
selecione o banco a esquerda e a tabela a direita - estrutura;
selecione os campos (nos checkbox) - "alterar" (1 icone q é 1 pequeno lapis);
ai altera o collation p/ latin1 (em cada campo) - salvar.
ao criar 1 nova tabela no phpmyadmin (n uso esse programa, acho mt complicado),
vc deve configurar o collation p/ cada novo campo como latin1.bin
(q é o correspondente ao iso-8859-1, europeu ocidental);
em tabelas ja existentes, siga os passos:
abra a pg principal do phpmyadmin (localhost),
selecione o banco a esquerda e a tabela a direita - estrutura;
selecione os campos (nos checkbox) - "alterar" (1 icone q é 1 pequeno lapis);
ai altera o collation p/ latin1 (em cada campo) - salvar.
#3
Posted 15/06/2010, 12:15
Não deu certo.
Mudei tudo para latin1.bin e o problema continua:
quando tento inserir em um campo de texto "vovô vovó não" é inserido na tabela assim: "vovô vovó não"
Obs1. quando executo o insert direto no SQL do PHPmyadmin, não há troca de caracteres, só quando os dados são inseridos através do navegador
Obs2. agora quando executo o sql SHOW VARIABLES LIKE 'character%' ele retorna a nova setagem:
Variable_name Value
character_set_client utf8
character_set_connection latin1
character_set_database utf8
character_set_filesystem binary
character_set_results utf8
character_set_server latin1
character_set_system utf8
character_sets_dir C:\Arquivos de programas\EasyPHP5.2.10\mysql\share
Mudei tudo para latin1.bin e o problema continua:
quando tento inserir em um campo de texto "vovô vovó não" é inserido na tabela assim: "vovô vovó não"
Obs1. quando executo o insert direto no SQL do PHPmyadmin, não há troca de caracteres, só quando os dados são inseridos através do navegador
Obs2. agora quando executo o sql SHOW VARIABLES LIKE 'character%' ele retorna a nova setagem:
Variable_name Value
character_set_client utf8
character_set_connection latin1
character_set_database utf8
character_set_filesystem binary
character_set_results utf8
character_set_server latin1
character_set_system utf8
character_sets_dir C:\Arquivos de programas\EasyPHP5.2.10\mysql\share



visite:
http://www.merreltattoo.com.br
http://www.merreltattoo.com.br
#4
Posted 16/06/2010, 09:41
Coloque tudo como UTF-8 ... as tabelas... e tudo mais...
Quando os dados forem inseridos no banco... eles irão ficar assim mesmo com caracteres que você não conhece..
Mas quando você realizar a consulta e exibir na tela... vai ficar tudo certo...
Quando os dados forem inseridos no banco... eles irão ficar assim mesmo com caracteres que você não conhece..
Mas quando você realizar a consulta e exibir na tela... vai ficar tudo certo...
Iniciando na Ajuda On line...
Meu post lhe ajudou? Reputar/votar é uma das formas de agradecer.

#5
Posted 16/06/2010, 16:58
Deu certo em parte,
Realmente, desse jeito no navegador não há problemas de caracteres, alterei os campos da tabela e o banco de dados para utf8, e o navegador exibe tudo ok.
O problema é quando for preciso inserir ou alterar dados manualmente pelo easy php, por exemplo se eu insiro "Merrél vanê", o navegador exibe "Merr�l van�"
Ou seja, eu vou ter que sempre fazer os selects e inserts pelo navegador...
Realmente, desse jeito no navegador não há problemas de caracteres, alterei os campos da tabela e o banco de dados para utf8, e o navegador exibe tudo ok.
O problema é quando for preciso inserir ou alterar dados manualmente pelo easy php, por exemplo se eu insiro "Merrél vanê", o navegador exibe "Merr�l van�"
Ou seja, eu vou ter que sempre fazer os selects e inserts pelo navegador...

visite:
http://www.merreltattoo.com.br
http://www.merreltattoo.com.br
#6
Posted 16/06/2010, 17:52
Para fazer testes... você pode fazer o seguinte...
Utilize a função utf_encode do PHP que você vai conseguir isso tranquilamente.
Ele vai codificar de acordo com os caracteres do banco.
Utilize a função utf_encode do PHP que você vai conseguir isso tranquilamente.
Ele vai codificar de acordo com os caracteres do banco.

Iniciando na Ajuda On line...
Meu post lhe ajudou? Reputar/votar é uma das formas de agradecer.

1 user(s) are reading this topic
0 membro(s), 1 visitante(s) e 0 membros anônimo(s)