Passei por este problema no ASP e agora no PHP!
O HTML do site está no padrão utf-8 e o banco de dados “supostamente” também. Porém, o conteúdo do banco vem com a acentuação toda bagunçada. Se troco o charset do HTML para ISO-8859-1, o conteúdo do banco de dados vem correto, mas daí o site fica desconfigurado, cheio de caracteres estranhos.
Solução do problema:
No meu arquivo de conexão (aquele que chama o banco de dados), adicionei o seguinte código:
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’);
Isso converte o conteúdo que está sendo trazido do MySQL para o formato utf-8.
Problema resolvido.
Acentuação correta no PHP e MySQL