Я хочу хранить Emojis (Android или Iphone) в моей базе данных MySQL, я пробовал много учебников и SO сообщений в Интернете, как:
Как вставить символ utf-8 mb4 (эмодзи в ios5) в mysql?
http://andy-carter.com/blog/saving-emoticons-unicode-from-twitter-to-a-mysql-database
MySQL utf8mb4, ошибки при сохранении эмодзи
Я изменил все вещи, которые требуются для этих статей. У меня сейчас следующая конфигурация mysql:
character_set_client: utf8mb4
символ_связи: utf8mb4
база_символов: utf8mb4
character_set_filesystem: двоичный
character_set_results: utf8mb4
символ_сервера_сервера: латинский
Набор символов: utf8
collation_connection: utf8mb4_unicode_ci
collation_database: utf8mb4_unicode_ci
collation_server: latin1_swedish_ci
Но я все еще не могу хранить 4-битные эмодзи в моей базе данных mysql, у меня есть «????», что довольно раздражает.
Пожалуйста помоги.
«4 байта», а не «4 бита».
Столбец / таблица должны быть CHARACTER SET utf8mb4
,
<meta charset="UTF8">
, не utf8mb4 — это говорит с HTML, а не MySQL. Вне MySQL правильное имя — «UTF-8» или «UTF8»; utf8mb4
это MySQL кладж
Смотрите «вопросительные знаки» в https://stackoverflow.com/a/38363567/1766831
Ровно 4 знака вопроса означают, что столбец не был изменен. использование ALTER TABLE ... CONVERT TO ...
;
Других решений пока нет …