Quando inserisco del testo scritto in unicode nel database, diventano punti interrogativi. La codifica del database è impostata su utf-8. Cos'altro potrebbe essere sbagliato? Quando effettuo il check in phpmyadmin ci sono solo punti interrogativi inseriti!I caratteri Unicode diventano punti interrogativi dopo l'inserimento nel database
Questo è il codice che uso per la connessione al database:
define ("DB_HOST", "localhost"); // set database host
define ("DB_USER", "root"); // set database user
define ("DB_PASS","password"); // set database password
define ("DB_NAME","name"); // set database name
$link = mysql_connect(DB_HOST, DB_USER, DB_PASS) or die("Couldn't make connection.");
$db = mysql_select_db(DB_NAME, $link) or die("Couldn't select database");
mysql_set_charset('utf8',$link);
mysql_query("SET CHARACTER SET utf8");
Quale modulo usi per comunicare con MySQL? mysql, mysqli, pdo-mysql, ...? Anche i dati sono correttamente codificati in utf-8? Esattamente dove vedi i personaggi come punti interrogativi? – VolkerK
Ho aggiunto mysql_query ("SET NAMES 'utf8'"); dopo mysql_select_db e il problema è risolto! –
Si potrebbe voler controllare http://uk3.php.net/manual/en/function.mysql-set-charset.php –