mysqlに4bytesの文字を挿入する事が出来ません
mysqlで絵文字を扱うためにデフォルトでutf8mb4を設定しました
mysql
1mysql> show variables like 'character%'; 2+--------------------------+----------------------------+ 3| Variable_name | Value | 4+--------------------------+----------------------------+ 5| character_set_client | utf8mb4 | 6| character_set_connection | utf8mb4 | 7| character_set_database | utf8mb4 | 8| character_set_filesystem | binary | 9| character_set_results | utf8mb4 | 10| character_set_server | utf8mb4 | 11| character_set_system | utf8 | 12| character_sets_dir | /usr/share/mysql/charsets/ | 13+--------------------------+----------------------------+ 148 rows in set (0.01 sec) 15 16mysql> show variables like 'collation%'; 17+----------------------+--------------------+ 18| Variable_name | Value | 19+----------------------+--------------------+ 20| collation_connection | utf8mb4_general_ci | 21| collation_database | utf8mb4_general_ci | 22| collation_server | utf8mb4_general_ci | 23+----------------------+--------------------+ 243 rows in set (0.00 sec) 25
データーベースを作成
mysql
1CREATE SCHEMA `test` DEFAULT CHARACTER SET utf8mb4;
シンプルなテーブルを作成
mysql
1use test; 2CREATE TABLE `test` ( 3 `text` varchar(45) DEFAULT NULL 4) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4
絵文字を挿入してみます
mysql
1use test; 2insert into test (text) values ('????????')
以下のエラーが出ます
Error Code: 1366. Incorrect string value: '\xF0\x9F\x87\xAF\xF0\x9F...' for column 'text' at row 1
よろしくお願いします
追記
すみません、mysqlworkbench側の問題でした。端末からではちゃんと出来ました。しかしMysqlWorkBenchでの絵文字の扱い方が分かりません
あなたの回答
tips
プレビュー