sql >> データベース >  >> RDS >> Mysql

MySQLにUTF8文字を保存できません

    スクリプトを実行すると、うまくいきました:

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

    結果:

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

    チェック事項:

    Webページが本当にUTF-8であるかどうかを確認してください。おそらく、別の場所にシャセットが設定されている可能性があります。

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

    ファイルエンコーディングもUTF-8である必要があります。そうしないと、文字が破損する可能性があります。



    1. SQLiteサブクエリ

    2. MariaDB CURRENT_USER()の説明

    3. SQLServerのエスケープ文字

    4. OracleDataReader.Readメソッドのタイムアウト