Je remarque que vous exécutez cette requête... mysql_query('SET CHARACTER SET utf8');
Essayez de le remplacer par ceci...
mysql_query("SET NAMES 'utf8'");
Cela devrait garantir que la connexion est UTF-8.
Essayez également de parcourir la liste des éléments de cet article... http:/ /blog.loftdigital.com/blog/php-utf-8-cheatsheet
Ceci répertorie les étapes nécessaires pour vous assurer que vous utilisez UTF-8 d'un bout à l'autre de votre site/application, mais en résumé :
- Vérifiez que vous avez bien l'extension mbstring de PHP et que vous avez
mb_internal_encoding('UTF-8');
défini dans votre script. - Assurez-vous d'exécuter cette requête MySQL après vous être connecté à votre base de données
mysql_query("SET NAMES 'utf8'");
qui garantit que la connexion est UTF-8. - Définissez l'en-tête HTTP de votre sortie...
header('Content-type: text/html; charset=UTF-8');
. Cela ne semble pas être nécessaire si vous avez définimb_internal_encoding()
ci-dessus mais utile pour le débogage - Assurez-vous que l'encodage de sortie de votre page HTML est défini...
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />