Mysql
 sql >> Datenbank >  >> RDS >> Mysql

UTF8-Zeichen können nicht in MySQL gespeichert werden

Als ich Ihr Skript ausgeführt habe, hat es bei mir funktioniert:

$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)

Ergebnis:

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

Dinge zu überprüfen:

Überprüfen Sie, ob Ihre Webseite wirklich UTF-8 ist, vielleicht haben Sie ein Chaset an einer anderen Stelle gesetzt.

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

Die Dateicodierung sollte ebenfalls UTF-8 sein, da sonst Ihre Zeichen beschädigt werden könnten ..