Вопросы о iPhone emoji и веб-страницах

 

Хорошо, поэтому emoji в основном показывает выше на компьютере. Это другой язык программирования? Итак, как я помещаю эти маленькие коробки в файл php? Когда я помещаю его в php-файл, он превращается в вопросительные знаки, а что нет. Кроме того, как я могу хранить их в MySQL, не превращая их в вопросительные знаки и другие странные вещи?

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

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

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

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

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

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

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

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

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

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

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

Это не имеет ничего общего с языками программирования, просто с кодировкой и шрифтами. В качестве краткого обзора: каждый символ хранится по его коду символов (например: 0x41 = A, 0x42 = B и т. Д.), Который отображается как значащий символ на вашем экране с использованием шрифта (который говорит «символ с кодом 0x41 должен выглядеть так … »).

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

Что касается их хранения: они должны храниться как есть, если вы не пытаетесь преобразовать их в другую кодировку, и в этом случае они могут потеряться . Просто имейте в виду, что они имеют смысл только на iPhone и других телефонах SoftBank в Японии.


Просмотр персонажа http://img.ruphp.com/php/skitch

Если вы находитесь на OSX, вы можете скопировать и вставить символ в средство просмотра символов, чтобы узнать, что это такое. Я думаю, что есть аналогичная карта символов в Windows (хотя и ниже – -P). Вы можете поместить его через PHP ord() , но это работает только с символами ASCII. См. Обсуждение на странице ord для функций UTF8.


BTW, просто для удовольствия, эти символы отлично отображаются на iPhone, как есть, потому что у iPhone есть шрифт, который имеет значки для них:

iPhone http://img.ruphp.com/php/skitch

Я использую FF3.5 и WinXP. Я вижу маленькие коробки в моем браузере.

Это говорит мне, что строка требует набора символов, не установленного на моем компьютере.

Когда вы помещаете строку в файл PHP, вопросительные знаки сообщают вам одно и то же: ваш компьютер не знает, как отображать символы.

Вы можете хранить эти символы emoji в MySQL, если вы закодировали их по-другому, возможно, используя UTF-8.

Сделайте веб-поиск кодировки символов, поскольку он относится к MySQL.