Возможно ли повторное кодирование emoji 3 или 4 байтовых строк в emoji снова?Как восстановить правильное кодирование 4-байтовых символов emoji, которые были сохранены в обычном utf8 - вот так: ðŸ~Š?
Я унаследовал таблицу MySQL Innodb с кодировкой utf8_unicode_ci. Эти emoji 4 байтовые строки повсюду. Можно ли перевести их обратно в эможи?
Первым шагом было изменение character set
на utf8mb4
. Это изменило все строки, такие как ð��£
, на такие строки: 😊
.
Но я действительно хочу перевести 😊
во что-то вроде . (Я понятия не имею, действительно ли
😊
действительно смайлик)
Что «4-битные символы» вы говорите? И что вы подразумеваете, переведя эможи в эможи? Это похоже на несоответствие кодировки символов. Покажите некоторые фактические данные (шестнадцатеричный дамп или что-то еще, что дает реальные данные - « » - ХАРАКТЕР ЗАМЕНЫ, указывающий на ошибку данных на уровне символа, не сообщая, какие данные). –
@ JukkaK.Korpela: [Emoji] (http://en.wikipedia.org/wiki/Emoji) находятся вне BMP, а это значит, что вам нужно 4 байта (а не бит), чтобы кодировать их как UTF-8. –
Я изменил сортировку на utf8mb4, и теперь заменяющие символы выглядят как 'ðŸ~Š'. Но я до сих пор не уверен, как увидеть фактический персонаж эможи. – Ryan