Вопрос

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

Итак, смайлики в основном показывают вышесказанное на компьютере.Это другой язык программирования?Итак, как мне поместить эти маленькие квадратики в файл 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. смайлики до сих пор совершенно нестандартизированы.Те символы, которые вы опубликовали, находятся в области частного использования Unicode, а это означает, что они вообще не имеют никакого официального значения.

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

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

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

Другие советы

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

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

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


Просмотрщик персонажей http://img.skitch.com/20091110-e7nkuqbjrisabrdipk96p4yt59.png

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


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

iPhone http://img.skitch.com/20091110-bjt3tutjxad1kw4p9uhehem5jhnk.png

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

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

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top