Я пытаюсь показать emoji, используя его значение unicode(). Но я получаю экранированную строку как \u00f0\u0178\u02dc\u20ac
, которая декодируется в 😀
.Юникодный символ отображается как закодированный ascii на стороне клиента
Я использую сервер Mysql и PHP 5.4 в своем проекте. В mysql он хранится как 😀
. Есть ли способ, чтобы это и экранирования в вернуться Фактический Юникода с PHP сервера
Я попытался, iconv('ASCII//TRANSLIT', 'UTF-8', '😀');
, mb_convert_encoding($var, "US-ASCII", "UTF-8")
и utf8_encode(). не работает.
Благодаря
Вам нужно использовать 'utf8mb4' в MySQL. 'utf8' поддерживает только до 3 байтов на символ. – Vatev
[Здесь] (http://apps.timwhitlock.info/unicode/inspect?s=%F0%9F%98%80) вы можете видеть, что это действительно 4 байта. – OIS
@Vatev: Mysql обходит проблему хранения, разбивая ее на 4 отдельных символа. Я пытаюсь его перестроить. Поскольку мой db довольно огромен, я не могу напрямую изменить кодировку db без правильной проверки. –