Solucionado (ver solução)
Solucionado
(ver solução)
6
respostas

Problema com acentuação - Wamp 3.0.9 - MySQL 5.7.14 - PHP 7.1.8

Estou com problema em acentuação. Ao colocar alguma palavra com acentos tanto nos campos de nome quanto descrição, dá este erro:

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '�)' at line 1

Eu estou utilizando o WAMP server 3.0.9 com o mysql versão 5.7.14 e php versão 7.1.8.

O que eu poderia estar fazendo de errado?

6 respostas

Seus arquivos são salvo com que encode? Recomendo UTF8.

Coloca no meta charset dos seus html's utf8 tambem.

E coloca tambem todo seu banco com esse charset.

Olá Alfredo! Eu mudei todo o meu charset do banco e na minha página também está com UTF8, mas o encode que está sendo gravado meu arquivo eu não sei... vou verificar!

De qualquer forma, mesmo que o arquivo esteja sendo salvado com um encode diferente, isso infkuenciaria no erro de salvar no banco , na realidade nem salva no banco, dá aquele erro citado anteriormente...

Apenas retificando, acabei de rever todo o código, e tinha algumas coisas que estavam erradas como por exemplo a tag html, o charset estava errado e até o SQL estava faltando aspas simples nas strings... enfim parece que ficou certo! Mas tenho uma dúvida... no mysql fica gravado a acentuação de forma codificada, algo parecido com isso:

Lápis

Por que?

Aqui também estou passando pelo mesmo problema. Está salvando no BD de maneira codificada. Já mudei o Collation tanto do Banco, quanto das tabelas para utf8_general_ci e de absolutamente todos os meus arquivos php eu já troquei o encoding. Quando eu faço uma consulta, ele retorna normalmente os dados. Porém, quando faço a consulta no banco, vejo que a inserção está sendo feita codificada

solução!

Aqui funcionou fazendo o seguinte:

/* conectar à base de dados */
$conexao = mysqli_connect("localhost","root","","NOME-DO-BANCO");
mysqli_set_charset($conexao, "utf8");

Obrigado Pessoal! Eu resolvi exatamente como o Rafael Lehnhart mostrou... Obrigado