Хорошо, поэтому 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.
Однако. Даже правильно управляя таким образом, ПК все равно не покажут эможи. Это потому что:
у них нет шрифтов, которые включают фигуры для этих персонажей, и
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 есть шрифт, который имеет значки для них:
Я использую FF3.5 и WinXP. Я вижу маленькие коробки в моем браузере.
Это говорит мне, что строка требует набора символов, не установленного на моем компьютере.
Когда вы помещаете строку в файл PHP, вопросительные знаки сообщают вам одно и то же: ваш компьютер не знает, как отображать символы.
Вы можете хранить эти символы emoji в MySQL, если вы закодировали их по-другому, возможно, используя UTF-8.
Сделайте веб-поиск кодировки символов, поскольку он относится к MySQL.