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

PHPを使用したMySQLからのutf8mb4データの操作

    テーブルをutf8mb4に設定していると単純に推測します。 、ただし、接続エンコーディングはutf8に設定されています 。 utf8mb4に設定する必要があります それ以外の場合、MySQLは保存されたutf8mb4を変換します utf8へのデータ 、後者は「高」Unicode文字をエンコードできません。 (はい、それはMySQLの特異性です。)

    生のMySQL接続では、次のようになります。

    SET NAMES 'utf8mb4';
    SELECT * FROM `my_table`;
    

    PHPからMySQLに接続する方法(mysql、mysqli、またはPDO)に応じて、これをクライアントの最適な方法に適合させる必要があります。

    本当に明確にするために(はい、mysql_を使用します 簡単にするための拡張機能です。自宅では行わないでください):

    mysql_connect(...);
    mysql_select_db(...);
    mysql_set_charset('utf8mb4');     // adapt to your mysql connector of choice
    
    $r = mysql_query('SELECT * FROM `my_table`');
    
    var_dump(mysql_fetch_assoc($r));  // data will be UTF8 encoded
    


    1. MySQLで収益を計算する方法

    2. MySQLとNHibernate。エラーを修正するには:列'ReservedWord'はテーブルReservedWordsに属していませんか?

    3. ゲームの先を行くSQLServerパフォーマンスメトリクス

    4. スキーマ移行を使用してテーブルに事前入力するActiveAndroid