Вопрос по iphone, ios, unicode – Как отобразить эмодзи в HTML

23

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

Я не знаю, как получить картинку, соответствующую "uD83D \ uDE0B". Кто-то знает?

Какая связь между "uD83D \ uDE0B"? и "\ uE056" & # xFF0C; они оба представляют смайликов "вкусной еды"?

наши ответы помогли ??? MCKapur

Ваш Ответ

3   ответа
3

который не поддерживает Emojis автоматически, является Chrome.

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

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

По сути, создатель создал спрайт и настраивает CSS в соответствии с юникодом смайликов. Это не красиво, но, к счастью, он / она сделал всю тяжелую работу за вас. Если вы используете другой язык, вы сможете найти что-то похожее.

9

емый символ Plane 1, что означает, что его кодированная форма UTF-16 состоит из двух 16-битных кодовых единиц, а именно 0xD83D 0xDE0B. Как правило, символы плоскости 1 вызывают значительные проблемы, поскольку многие программы не готовы с ними справиться, и лишь немногие шрифты содержат их.

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

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

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

Тогда больше нравится 85%. Каждое устройство iOS, каждый Mac, каждая Windows-машина с IE10 или Chrome или Firefox, каждое Android-устройство с версией 4.1 или выше, которая, по данным Google, составляет более 80%, поддерживает это
Этот ответ кажется больше не верным в 2015 году? Safari на OSX, iOS и Android везде, а также Firefox поддерживают все эти символы, как и IE. Таким образом, вероятность того, что эти символы будут отображаться, вероятно, находится в диапазоне 90%, за исключением старых телефонов в странах третьего мира или аналогичных местах, но эти телефоны не могут отображать китайский или японский язык и т. Д. И, вероятно, не являются вашим рынком, кроме
@ gman, проблемы со шрифтами все еще с нами. Это не проблема ОС или браузера, за исключением случаев, когда ОС или браузер поставляются с дополнительными шрифтами. Коэффициенты теперь более 1%, но, безусловно, намного меньше, чем 90%.
0

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

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

Тогда у вас есть проблема с кодировкой. Прежде чем беспокоиться о смайликах, разберитесь с символами Юникода, которые вы действительно сможете правильно увидеть, например, & # x105; & # x3B1; & # x2342; & # x6122; & # x6 апартамент; & # x672C;

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

Тем не мение. Даже если все делать правильно, компьютеры все равно не будут показывать смайлики. Это потому что:

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

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

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

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

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

К вашему сведению: стандарт Unicode MCKapur упоминаетnow in place, Поддержка многих (большинства?) Распространенных смайликов сейчас распространена на большинстве ПК и мобильных платформ, хотя я видел проблемы с некоторыми смайликами в Ubuntu.

Похожие вопросы