Ir para conteúdo

POWERED BY:

Arquivado

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

Josué LS

Problema com a codificação de caracteres MySQL

Recommended Posts

Olá pessoal,

 

Li vários artigos sobre codificação de caracteres, e encontrei alguns que entre aspas resolveu o problema.

 

Bom, inicialmente o problema de codificação só estava no Bando de Dados MySQL, palavras como "você" no bando de dados aparecia "você", mas quando exibida na página aparecia corretamente.

Eu achando que o problema era apenas o bando de dados, pesquisei até que encontrei duas soluções:

 

Inserir mysql_query("set names utf8"); no arquivo de conexão.

setar para UTF-8 a variável que faz a conexão: "mysql_set_charset('utf8',$conexao);"

 

As duas aparentemente resolveram o problema com as palavras acentuadas no bando de dados. Porem estou montando um projeto que armazena texto inserido e salva como arquivo de texto ".txt", mas quando abro esse arquivo de texto pelo navegador, volta a aparecer o problema de acentuação, mas se eu abrir o com o bloco de notas o texto aparece sem nenhum problema de acentuação.

 

Ai pelo NotePad++ descobri que o arquivo de texto estava codificado em ANSI, pois fui modificando a codificação e quando codifiquei o arquivo para ANSI as palavras acentuadas ficaram novamente deformadas, como no navegador.

 

Agora já não sei onde está o problema pois em todas as páginas estou usando a metatag:

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

No arquivo de conexão também coloquei:

header("Content-Type: text/html; charset=utf-8",true);

E o bando de dados, como as tabelas estão codificandos como UTF-8.

 

Se alguém souber me dizer onde está o problema ficaria muito grato. Pois isso está me quebrando a cabeça.

Compartilhar este post


Link para o post
Compartilhar em outros sites

provavelmente os dados no banco de dados estão em latin iso..

 

talez você tenha configurado tudo corretamente para o utf8, entretanto, deve ter esquecido de que precisa converter os dados também..

Compartilhar este post


Link para o post
Compartilhar em outros sites

coloca isso na conexão

 

mysql_query("SET NAMES 'utf8'");
mysql_query('SET character_set_connection=utf8');
mysql_query('SET character_set_client=utf8');
mysql_query('SET character_set_results=utf8');

 

no index coloca assim

 

<?php ini_set('default_charset','UTF-8');?>

 

 

no mysql coloca tudo utf8_unicode_ci

 

se estiver problema também no assunto no recebimento do e-mail me fala, pois cada servidor vai interpretar de um jeito, ocorre sempre erro no hotmail quando se recebe.

 

Bom aproveito !

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.