MySQL のテーブルにいくつかの絵文字を挿入しようとしていますが、値は疑問符 (????) として保存されます。
utf8mb4
適切なエンコーディングでデータベースを作成するようにしました。
mysql> describe users;
+-------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-------+--------------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| name | varchar(191) | YES | | NULL | |
+-------+--------------+------+-----+---------+----------------+
2 rows in set (0.01 sec)
次に、MySqlが絵文字を理解できるかどうかを確認しようとしたので、次のようにしました。
mysql> select '';
+------+
| |
+------+
| |
+------+
1 row in set (0.00 sec)
それから私はこれをしました:
mysql> insert into users (name) values ('');
Query OK, 1 row affected, 1 warning (0.05 sec)
mysql> select * from users;
+----+------------+
| id | name |
+----+------------+
| 21 | فاضل |
| 30 | سلاحف |
| 46 | ???? |
| 47 | ???? |
| 48 | ???? |
| 49 | ???? |
+----+------------+
6 rows in set (0.01 sec)
それを修正するために何をすべきかわかりません..
**編集**:コメントで要求されたように、次のコマンドを実行しました:
mysql> SHOW VARIABLES LIKE 'character%';
+--------------------------+-------------------------+
| Variable_name | Value |
+--------------------------+-------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8mb4 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | /static/share/charsets/ |
+--------------------------+-------------------------+
8 rows in set (0.00 sec)