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 impostatomb_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" />