MySQLデータベースに絵文字を保存する方法 質問する

MySQLデータベースに絵文字を保存する方法 質問する

デフォルトの照合順序で構成されたMySQLデータベースがありますutf8mb4_general_ci。次のクエリを使用してテキストに絵文字を含む行を挿入しようとすると

insert into tablename 
(column1,column2,column3,column4,column5,column6,column7) 
values 
('273','3','Hdhdhdh��������hzhzhzzhjzj 我爱你 ❌',49,1,'2016-09-13 08:02:29','2016-09-13 08:02:29');

MySQLは次のエラーを発生させます

1366 行 1 の列 'comment' の文字列値が正しくありません: '\xF0\x9F\x98\x83\xF0\x9F...'

ベストアンサー1

1) データベース: データベースのデフォルトの照合順序を に変更しますutf8mb4

2) テーブル: テーブルの照合順序を に変更しますCHARACTER SET utf8mb4 COLLATE utf8mb4_bin

クエリ:

ALTER TABLE Tablename CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_bin

3) コード:

INSERT INTO tablename (column1, column2, column3, column4, column5, column6, column7)
VALUES ('273', '3', 'Hdhdhdh��������hzhzhzzhjzj 我爱你 ❌', 49, 1, '2016-09-13 08:02:29', '2016-09-13 08:02:29')

4)utf8mb4データベース接続を設定します。

  $database_connection = new mysqli($server, $user, $password, $database_name); 
  $database_connection->set_charset('utf8mb4');

おすすめ記事