Я пытаюсь сохранить некоторые данные о MySQL базы данных, ввод содержит Emoji символы, как это: «\ U0001f60a \ U0001f48d», и я получаю эту ошибку:Сохранение Emoji символов в базе данных MySQL
1366, "Incorrect string value: '\\xF0\\x9F\\x98\\x8A\\xF0\\x9F...' for column 'caption' at row 1"
Я искал в сети и читал много ответов: или или https://mathiasbynens.be/notes/mysql-utf8mb4#character-sets или http://www.java2s.com/Tutorial/MySQL/0080__Table/charactersetsystem.htm, но ничего не работало !!
У меня есть разные проблемы:
здесь MYDB информация:
mysql> SHOW VARIABLES WHERE Variable_name LIKE 'character\_set\_%' OR Variable_name LIKE 'collation%';
+--------------------------+--------------------+
| 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 | utf8 |
| character_set_system | utf8 |
| collation_connection | utf8mb4_general_ci |
| collation_database | utf8mb4_general_ci |
| collation_server | utf8_general_ci |
+--------------------------+--------------------+
10 rows in set (0.00 sec)
Я попытался изменить character_set_server
значение utf8mb4
по
mysql>SET character_set_server = utf8mb4
Query OK, 0 rows affected (0.00 sec)
Но когда рестарт mysqld
все вернется!
У меня также нет файла /etc/my.cnf
, и я отредактировал файл /etc/mysql/my.cnf
.
Что мне делать? Как сохранить файл emoji в моей базе?
Ну да, эти параметры возвращаются. Вы должны установить *** *** кодировку *** всякий раз, когда вы подключаетесь к базе данных, как само собой разумеющееся. Как именно вы пытаетесь точно вставить какое значение? – deceze
Я разрабатываю приложение Django и использую python 'django.db.backends.mysql' в качестве механизма для подключения к серверу MySQL. –
Не могли бы вы найти решение? –