Mysql
 sql >> Base de données >  >> RDS >> Mysql

Obtenir des caractères étranges lors de la récupération de valeur dans la base de données mysql

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éfini mb_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" />