Подтвердить что ты не робот

Как отображать emoji char в HTML

Я сохранил лицо, "смакующее вкусные продукты emoji", в базу данных и прочитал его в php json_encode, который показывает "uD83D\uDE0B", но обычно мы используем один ярлык <img /> для его замены. однако обычно я просто нахожу этот формат '\ uE056' не "uD83D\uDE0B", чтобы заменить на pic E056.png.

Я не знаю, как получить pic accroding на "uD83D\uDE0B". Кто-нибудь знает?

Какая связь между "uD83D\uDE0B" и "\ uE056", они оба представляют эмози "смакуя вкусную еду"?

4b9b3361

Ответ 1

Символ Юникода U + 1F60B FACE SAVORING DELICIOUS FOOD - это так называемый знак плоскости 1, что означает, что его кодированная UTF-16 форма состоит из двух 16-разрядных блоков кода, а именно 0xD83D 0xDE0B. Как правило, символы Plane 1 вызывают значительные проблемы, потому что многие программы не готовы к их решению, и в них есть несколько шрифтов.

В соответствии с http://www.fileformat.info/info/unicode/char/1f60b/fontsupport.htm этот конкретный символ существует только в шрифтах DejaVu и в Symbola, но версии DejaVu Im, использующие его, не содержат.

Вместо того, чтобы решать проблемы кодировок (которые не так сложны, но требуют дополнительной информации), вы можете использовать ссылку на символ &#x1f608; в HTML. Но это не решает проблему шрифта. Я не знаю о шрифтах iPhone, но, в общем, в веб-браузере, шансы компьютера с любым шрифтом, способным отображать персонажа, вероятно, составляют менее 1%. Таким образом, вам может потребоваться использовать загружаемые шрифты. Использование изображения, очевидно, намного проще и в основном более надежным.

U + E056 - код для частного использования, что означает, что любой может договориться о его значении с братом или с самим собой, не спрашивая никого. Дизайнер шрифтов может присвоить ему любой символ.

Ответ 2

ВАЖНО: начиная с этой публикации единственным браузером, который автоматически не поддерживает emojis, является хром.

ДЛЯ ХРОМА: В зависимости от того, какой язык на стороне сервера вы используете, вы должны найти библиотеку, которая преобразует emojis для вас. Мне недавно нужно было решить эту проблему с помощью php и использовать эту библиотеку:

https://github.com/iamcal/php-emoji

Создатель по существу создал спрайт и настраивает css в соответствии с юникодом emoji. Это не красиво, но, к счастью, он сделал для вас всю работу. Если вы используете другой язык, вы должны найти что-то подобное.

Ответ 3

как помещать эти маленькие ящики в файл php?

То же, что и любой другой символ Юникода. Просто вставьте их и убедитесь, что вы сохраняете файл PHP и используете страницу PHP как UTF-8.

Когда я помещаю его в php файл, он превращается в вопросительные знаки, а что нет

Тогда у вас есть проблема с кодировкой. Поработайте с символами Юникода, которые вы можете увидеть правильно, например, ąαд ™ 日本, прежде чем беспокоиться об эможи.

Ваш PHP файл должен быть сохранен как UTF-8; страница, которую она создает, должна быть представлена ​​как Content-Type: text/html;charset:UTF-8 (или с аналогичным метатегом); база данных MySQL должна использовать сопоставление UTF-8 для хранения данных, а PHP должен разговаривать с MySQL с использованием UTF-8.

Однако. Даже правильно управляя таким образом, ПК все равно не покажут эможи. Это потому, что:

у них нет шрифтов, которые содержат фигуры для этих символов, и

emoji все еще полностью нестандартизированы. Те персонажи, которые вы опубликовали, находятся в области использования в Юникоде, что означает, что у них нет никакого официального значения.

Каждая сеть в Японии использует разные коды символов для своих эмози, сопоставленных с различными областями в PUA. Таким образом, даже на другом мобильном телефоне он, вероятно, не отобразит правильный символ, если вы не потратите много времени на перенос кодов emoji для разных сетей. Я предполагаю, что вы опубликовали выше, из SoftBank (iPhone?).

Существует постоянное предложение, которое Google и Apple собирают для сопоставления emoji разных сетей и предоставляют им стандартное стандартное место в Unicode. До тех пор, когда emoji постоянно отображается в разных сетях, это упражнение в несчастье. См. обзор символов из работы по стандартизации, чтобы увидеть, сколько конверсий вам нужно будет сделать.

Бог, я ненавижу эможи. Вся эта боль для такой нагрузки бесполезного мусора.