絵文字をMySqlデータベースに保存したいのですが、3バイトの絵文字がデータベースに正しく保存されていますが、4バイトの絵文字が疑問符として保存されています。utf8をutf8mb4に完全に変換したようですが、ここで何が欠けているのか正確にはわかりません。私のMySQLバージョンは5.5.29ですがSHOW VARIABLES WHERE Variable_name LIKE 'character\_set\_%' OR Variable_name LIKE 'collation%';
、MySqlシェルでを実行すると、次のように表示されます。
+--------------------------+--------------------+
| Variable_name | Value |
+--------------------------+--------------------+
| character_set_client | utf8mb4 |
| character_set_connection | utf8mb4 |
| character_set_database | utf8mb4 |
| character_set_filesystem | binary |
| character_set_results | utf8mb4 |
| character_set_server | utf8mb4 |
| character_set_system | utf8 |
| collation_connection | utf8mb4_unicode_ci |
| collation_database | utf8mb4_unicode_ci |
| collation_server | utf8mb4_unicode_ci |
+--------------------------+--------------------+
現在、テストの目的で、絵文字の保存をテストするために作成された1つのテーブルを持つ1つのデータベースしかありません。phpMyAdminを使用してデータベースを作成し、MySqlシェルを使用してテーブルを作成しました。
CREATE TABLE `test_emojis` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`content` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
そしてそれはまだ機能しません(まだ疑問符)。
ただし、興味深いものが見つかりました。phpMyAdminに疑問符が表示されますが、select * from test_emoji;と入力すると、Mysqlシェルに絵文字アイコンが正しく表示されます。何か案は?
誰か助けてもらえますか?
ありがとう