Mysql
 sql >> Database >  >> RDS >> Mysql

Ottenere caratteri strani durante il recupero del valore nel database mysql

Ho notato che stai eseguendo questa query... mysql_query('SET CHARACTER SET utf8');
Prova a cambiarlo in questo...

mysql_query("SET NAMES 'utf8'");

Ciò dovrebbe garantire che la connessione sia UTF-8.

Prova anche a scorrere l'elenco degli elementi in questo articolo... http:/ /blog.loftdigital.com/blog/php-utf-8-cheatsheet
Questo elenca i passaggi necessari per assicurarti di utilizzare UTF-8 dall'inizio alla fine nel tuo sito/applicazione, ma in sintesi:

  • Verifica di avere l'estensione mbstring di PHP e di avere mb_internal_encoding('UTF-8'); impostato nel tuo script.
  • Assicurati di eseguire questa query MySQL dopo esserti connesso al tuo database mysql_query("SET NAMES 'utf8'"); che assicura che la connessione sia UTF-8.
  • Imposta l'intestazione HTTP del tuo output... header('Content-type: text/html; charset=UTF-8'); . Questo non sembra essere necessario se hai impostato mb_internal_encoding() sopra ma utile per il debug
  • Assicurati che la codifica di output della tua pagina HTML sia impostata... <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />