Хром не отображает специальный символ, в то время как другие браузеры

Я пытаюсь отобразить код символа в навигации по следу хлебной крошки, которая формирует эту стрелку:"

он отображается правильно в Firefox, Opera и IE, но не в Chrome. Я делаю что-то не так, или это ошибка в Chrome? Есть ли обходные пути?

Я использую Google Chrome версии 32.0.1700.107 m на Windows 7 Professional 64 бит.

3 ответов


Это почти дубликат не удается отобразить символ в IE 9, но поскольку этот вопрос касается конкретно IE, а этот-Chrome, я скопирую ответ с изменениями здесь:

браузеры (включая Chrome) иногда испытывают трудности с отображением символа, когда он не существует в шрифтах, указанных для элемента, или, при отсутствии таких спецификаций, в шрифте браузера по умолчанию. Браузеры должны проверить все шрифты в системе, чтобы узнать тот, который содержит символ, но иногда они не в состоянии сделать это. Иногда причина в том, что какой-то шрифт имеет информацию, которая утверждает, что у него есть глиф для символа (поэтому браузер прекращает поиск), но не имеет.

лечение состоит в том, чтобы указать список шрифтов, которые содержат символ. Для """ U+276F тяжелый правый угол кавычки орнамент (довольно специальный символ), покрытие шрифта очень ограничено. Большинство компьютеров не имеют шрифта сдерживая его. Вы можете указать список шрифтов следующим образом:

 font-family: DejaVu Sans, Symbola, Everson Mono, Dingbats, Segoe UI Symbol,
 Quivira, SunExt-A, FreeSerif, Universalia, unifont;

но большинству пользователей не хватает всех этих шрифтов. Вы можете использовать загружаемый шрифт (веб-шрифт) с @font-face. Шрифты DejaVu, Symbola и Quivira являются бесплатными шрифтами, хотя они довольно велики по размеру файла.

кроме того, рассмотрите возможность использования изображения. Этот персонаж-декоративный дингбат, специальная графика, а не персонаж, хотя по причинам наследия он был закодирован как символ в Unicode.

Подробнее: руководство по использованию специальных символов в HTML.


вы пытались использовать

htmlspecialchars(string)

или

<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-8">


[Edit] по-видимому, это известная проблема для UTF-16, а не UTF-8. [/EDIT]

Это известная проблема. Самый простой запасной вариант-использовать суррогатную пару Unicode.

[sources]

http://www.fileformat.info/info/unicode/char/10095/index.htm

http://mathiasbynens.be/notes/javascript-unicode