Ir para conteúdo

POWERED BY:

Arquivado

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

gilvaju

[Resolvido] Mysqli | UTF-8 | Resultado de query sem acentuação

Recommended Posts

Bem pessoal,

 

É o seguinte, tenho meu sistema desenvolvido em utf-8 com header do html defnido para UTF-8, se escrevo Ações no html sai normal: Ações.

 

Se escrevo echo "Ações"; também sai normal

 

Quando insiro dados no mysql, velo pelo workbench normalmente como escrevi.

Consigo fazer isto através do $mysqli->query"SET NAMES 'utf8'";

 

Este foi o ponto máximo que consegui configurar meu sistema.

 

A única coisa que falta é configurar os resultados do php, que estão trazendo de forma errada os acentos armazenados de forma certa no mysql;

 

Só funciona quando defino o header para ISO-8859-1, tanto no php como no html, só que perco a acentuação da página html.

 

Utilizo a Classe Mysqli

 

Agradeço muito a ajuda de vocês.

Compartilhar este post


Link para o post
Compartilhar em outros sites

pela descricao, talvez alguma configuração na estrutura ddl.

 

certifique-se de que a tabela e tb os campos estejam como utf-8, general_ci etc

 

uma tabela pode estar em utf8 e os campos podem possuir definicao diferen do collation. verifique isso tb.

Compartilhar este post


Link para o post
Compartilhar em outros sites

pela descricao, talvez alguma configuração na estrutura ddl.

 

certifique-se de que a tabela e tb os campos estejam como utf-8, general_ci etc

 

uma tabela pode estar em utf8 e os campos podem possuir definicao diferen do collation. verifique isso tb.

 

Acredito eu, que nesse caso, estaria acontecendo de o mysql não receber de forma correta, o que não é o caso.

 

colocque o SET NAMES no select

 

Já tentei, não resolveu

 

$mysqli = new mysqli();

$mysqli->query("SET NAMES 'UTF8'");

Compartilhar este post


Link para o post
Compartilhar em outros sites

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá pessoal, ninguem mais tem idéia de como resolver?

 

Desde já agradeço a ajuda!

 

meu problema foi como o seu - UTF no PHP e na DB e mesmo assim insert ou select retornavam o acento errado

so resolveu quando coloquei:

parent::query("SET NAMES 'utf8'");
parent::query("SET character_set_connection=utf8");
parent::query("SET character_set_client=utf8");
parent::query("SET character_set_results=utf8");

 

alem disso eu não sei o que pode ser...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá pessoal, ninguem mais tem idéia de como resolver?

 

Desde já agradeço a ajuda!

 

meu problema foi como o seu - UTF no PHP e na DB e mesmo assim insert ou select retornavam o acento errado

so resolveu quando coloquei:

parent::query("SET NAMES 'utf8'");
parent::query("SET character_set_connection=utf8");
parent::query("SET character_set_client=utf8");
parent::query("SET character_set_results=utf8");

 

alem disso eu não sei o que pode ser...

 

no caso, eu colocaria no lugar parent:: o meu objeto certo?

 

$mysqli->query("SET NAMES 'utf8'");

$mysqli->query("SET character_set_connection=utf8");

$mysqli->query("SET character_set_client=utf8");

$mysqli->query("SET character_set_results=utf8");

 

 

Seria isto? Se for eu já fiz e não resolveu!

Compartilhar este post


Link para o post
Compartilhar em outros sites

cara, não sei se é isso mas para gravar no banco utilizao "utf8_decode($variavel_com_acento)". Isso faz que grave com acentos no mysql. Para ler do banco, leio com htmlentities(), na página irá mostrar com acentos.

Compartilhar este post


Link para o post
Compartilhar em outros sites

cara, não sei se é isso mas para gravar no banco utilizao "utf8_decode($variavel_com_acento)". Isso faz que grave com acentos no mysql. Para ler do banco, leio com htmlentities(), na página irá mostrar com acentos.

 

Cara, a gravação do banco esta correta, o problema é no select.

 

Bem, mais ao ver "htmlentities()" na sua resposta me toquei que era uma função do php e fui atrás, após um pequeno teste consegui funcionar. Estou usando utf8 no frontend e no banco de dados.

 

Para inserção está ok, para vizualização estou usando o htmlentities()

 

Muito obrigado pela ajuda galera!

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.