php mysql collation - Acentos não são salvos corretamente.
Olá pessoal, estou com problema para salvar os acentos corretamente no banco de dados mysql.
Segue o trecho de código que estou utilizando pra testes:
<?php
$dbc = mysqli_connect(DBHOST, DBUSER, DBPASS, DBNAME) or die('Não conectou');
$query = "INSERT INTO TESTE (nome) VALUES ('visão')";
$data = mysqli_query($dbc, $query) or die ('Não inseriu');
?>
Não estou usando html, apenas rodando o trecho de código acima pra inserir no banco a palavra VISÃO numa tabela de teste.
No entanto, ao mandar pro banco de dados ele não salva a palavra visão, ele substitui o ã por outros caracteres.
Como deve ser salvo: visão.
Como é salvado: visão.[/size]
Quando executo o select no workbench a palavra é mostrada assim visão.
No entando se faço o seguinte no código php o script roda sem problema:
<?php
$dbc = mysqli_connect(DBHOST, DBUSER, DBPASS, DBNAME) or die('Não conectou');
$query = "INSERT INTO TESTE (nome) VALUES ('visão')";
$data = mysqli_query($dbc, $query) or die ('Não inseriu');
//ele acha os dados, mesmo o banco não salvando os acentos (WHERE funciona)
$query = " SELECT * FROM TESTE WHERE nome = 'visão' ";
$data = mysqli_query($dbc, $query);
$result = mysqli_fetch_array($data);
//ele exibe a palavra visão corretamente
echo $result['nome];
?>
Pelo que constatei ele sava errado no banco, mas qualquer operação no script funciona corretamente.
*** esse mesmo select com a o WHERE = 'visão' executado no workbench não funciona (ELE NÃO ENCONTRA DOS DADOS)
Informações:
collation default do schema é utf-8 general ci, assim como da tabela.
Alguém tem alguma sugestão de como posso resolver isso?
Discussão (5)
Carregando comentários...