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

Impossible de stocker des caractères UTF8 dans MySQL

pendant que j'exécutais votre script, cela a fonctionné pour moi :

$charset = "UTF8";
$link = mysql_connect('localhost', 'root', '') or die('connection?');
mysql_select_db('test') or die('database?');
if(function_exists("mysql_set_charset")){
    mysql_set_charset($charset, $link);
}else{
    mysql_query("SET NAMES $charset");   
}

$text = 'ţ, î, ş';
mysql_query("insert into gen_admin_words_translated (word_id, lang_id, value, needUpd) values (1, 1, '$text', 1)");

$query = mysql_query('SELECT * FROM  `gen_admin_words_translated`');
$array = mysql_fetch_array($query);

print_r($array)

résultat :

Array
(
    [0] => 2689
    [id] => 2689
    [1] => 1
    [word_id] => 1
    [2] => ţ, î, ş
    [value] => ţ, î, ş
    [3] => 1
    [lang_id] => 1
    [4] => 1
    [needUpd] => 1
)

choses à vérifier :

vérifiez si votre page Web est vraiment UTF-8, peut-être avez-vous défini un jeu de poursuite à un autre endroit.

header('Content-type: text/html; charset=utf-8');

l'encodage de fichier doit également être UTF-8 car il peut casser vos caractères sinon ..