Почему смайлики появляются, когда я использую Safari, но не Chrome на том же MacBook под управлением Lion? Оба браузера используют WebKit, и я думаю, что поддержка шрифтов исходит от ОС, а не от приложения.
Для справки это страница, отображаемая в Chrome 17.0.963.56:
И это страница, отображаемая в Safari 5.1.3 (7534.53.10):
lion
safari
google-chrome
emoji
Daniel
источник
источник
Ответы:
Разница заключается в механизмах рендеринга для окон браузера.
Мы знаем, что Safari отображает набор символов не так, как Chrome. Но элементы Window UI (вкладки в Chrome) в порядке. Это наша самая большая подсказка.
Элементы пользовательского интерфейса окна (вероятно, я здесь не прав), все они отображаются операционной системой. Таким образом, они получают полный набор расширений эмодзи на уровне ОС.
Но то, что происходит внутри окна веб-браузера, все очень зависит от браузера. Механизмы рендеринга - большая часть секретного соуса каждого браузера.
И Safari, и Chrome используют WebKit, но сходство между экземплярами WebKit, которые они используют, останавливается где-то рядом с именем движка. Это обе вилки из основной версии, и они сильно настроены для повышения производительности таким образом, который, по мнению каждой команды разработчиков браузеров, имеет смысл для их конечных пользователей.
@JasonSalaz обнаружил большую ошибку в базе данных ошибок Chrome, которая дает нам окончательное представление о том, что это связано с форками WebKit: http://code.google.com/p/chromium/issues/detail?id=90177 - эта ошибка говорит о различиях между форком в Chrome и основной линией WebKit из проекта с открытым исходным кодом. Существуют различия в рендеринге в основной строке, которые еще не дошли до версии, которую использует Chrome. И похоже, что они собираются объединить изменения в какой-то момент.
Обновление: Пол Ирландский имеет отличный пост в блоге о том, как WebKit отличается для всех этих браузеров, которые в настоящее время используют его , Если вы действительно хотите понять, насколько разнообразна среда WebKit, это отличная статья.
источник
Вы можете использовать расширение Chrome Chromoji , Это обходной путь, который заменит эмодзи встроенными изображениями на веб-страницах.
источник
Проблема заключается в том, что ваш браузер использует другую кодировку символов, чем у документа, который вы просматриваете.
Итак, как браузер узнает, какую кодировку символов использовать?
Content-Type
заголовок.meta
элемент.charset
приписывать.Если ни один из них не указан, то разные браузеры используют разные методы, чтобы угадать правильную кодировку символов. Некоторые используют эвристику. Некоторые позволяют пользователю указывать кодировку символов. Некоторые выбирают кодировку символов по умолчанию для операционной системы.
Если ничего из этого не получится, вы получите бред, также известный как моджибаке.
Итак, чтобы ответить на ваш вопрос напрямую: Safari и Chrome пытаются по-разному найти правильную кодировку символов.
источник
Перейдите в строку меню Chrome, нажмите «Дополнительные инструменты» → «Кодировка» и выберите новый формат кодировки. Я использую "Unicode UTF-8", похоже, у меня работает.
источник
https://code.google.com/p/chromium/issues/detail?id=62435 недавно был отмечен как исправленный; начиная с версии 41 эмодзи должно отображаться нормально в Chrome.
источник
Символ - это персонаж, созданный Apple. Safari использует свой собственный набор символов.
источник