Как вставить символ utf-8 mb4 (emoji в ios5) в mysql?



Я использую mysql 5.5.10, и его character_sets являются



| character_set_client     | utf8                    |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
| collation_connection | utf8_general_ci |
| collation_database | utf8_general_ci |
| collation_server | utf8_general_ci |


Я изменил utf8 с utf8 для смайликов iOS5. Они представлены 4-байтовым кодом.



но когда я вставил 3 смайлик emojis,'???'находится в mysql.



они 3F 3F 3F (Hex).



Я могу хранить смайлики iOS4 хорошо, но не iOS5.



Как я могу хранить смайлики iOS5?



пожалуйста, помогите мне.

714   2  

2 ответов:

4-байтовые символы Юникода еще не широко используются, поэтому не каждое приложение полностью поддерживает их. MySQL 5.5 отлично работает с 4 байтовыми символами при правильной настройке – проверьте, могут ли ваши другие компоненты работать с ними.

вот еще несколько вещей, чтобы проверить:

  • убедитесь, что все таблицы по умолчанию наборы символов и текстовые поля преобразуются в utf8, в дополнение к настройке клиентских и серверных наборов символов, например. ALTER TABLE mytable charset=utf8, MODIFY COLUMN textfield1 VARCHAR(255) CHARACTER SET utf8,MODIFY COLUMN textfield2 VARCHAR(255) CHARACTER SET utf8; и так далее.

    Если ваши данные уже находятся в наборе символов utf8, он должен преобразовать в utf8 на месте без каких-либо проблем. Как всегда, резервное копирование данных перед попыткой!

  • также убедитесь, что ваш уровень приложения устанавливает набор символов своих подключений к базе данных в utf8. Дважды проверьте, что это действительно происходит – если вы используете более старую версию клиентской библиотеки mysql выбранной вами платформы, она, возможно, не была скомпилирована с поддержкой utf8 и это не правильно кодировку. Если нет, вам, возможно, придется обновить его или скомпилировать самостоятельно.

  • при просмотре данных через клиент mysql, убедитесь, что вы находитесь на машине, которая может отображать emoji, и запустить SET NAMES utf8 перед выполнением любых запросов.

после того, как каждый уровень вашего приложения может поддерживать новые символы, вы должны быть в состоянии использовать их без каких-либо повреждений.

Comments

    Ничего не найдено.