Разрешить MySQL хранить эмодзи в кодировке utf8mb4?

Я хочу хранить 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, у меня есть «????», что довольно раздражает.

Пожалуйста помоги.

1

Решение

«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 ...;

2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]