Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Não é possível armazenar caracteres UTF8 no MySQL


enquanto eu executava seu script, funcionou para mim:
$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)

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

coisas para verificar:

verifique se sua página é realmente UTF-8, talvez você tenha algum chase definido em outro lugar.
header('Content-type: text/html; charset=utf-8');

a codificação do arquivo também deve ser UTF-8, pois pode quebrar seus caracteres caso contrário ..