Я хочу просто отобразить символы галочки (✔) и крестика (✘) на HTML-странице, но они отображаются либо как прямоугольник, либо как кружок ✠»- очевидно, что-то связано с кодировкой.
Я установил метатег для отображения utf-8, но, очевидно, что-то мне не хватает.
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
Изменить / Решение. Из комментариев, сделанных с помощью FireBug, я обнаружил, что заголовки, передаваемые моей страницей, на самом деле были «Content-Type: text / html», а не UTF-8. Просмотр формата файла с помощью Notepad ++ показал, что мой файл был отформатирован как «UTF-8 без спецификации». Изменив это значение только на UTF-8, символы теперь отображаются правильно ... но firebug по-прежнему указывает на тот же тип содержимого.
content
свойстве::before
селектора CSS необходимо использовать нотацию обратной косой черты. например: '\ 2713' вместо '& # 2713'.Я знаю, что ответ уже принят, но хочу отметить несколько моментов.
Очевидно, что установка
content-type
иcharset
является хорошей практикой, гораздо лучше делать это на сервере, поскольку это обеспечивает согласованность во всем приложении.Однако я бы использовал
UTF-8
только тогда, когда язык моего приложения использует много символов, которые доступны только вUTF-8
кодировке. Если вы хотите отобразить символ или символ Unicode в одном из случаев, вы можете сделать это, не меняяcharset
страницы.HTML
средства визуализации всегда могли отображать символы, которые не являются частью набора символов кодировки страницы, если вы упоминаете символ в егоnumeric character reference (NCR)
. Звучит странно, но это правда.Таким образом, даже если у вас
html
есть заголовок, в котором указано, что он имеет кодировкуansi
или любую из кодировокiso
, вы можете отобразить галочку, используя ссылку на символ html в десятичном формате - & # 10003; или в шестнадцатеричном формате - & # x2713;Поэтому немного сложно понять, почему вы сталкиваетесь с этой проблемой на своих страницах. Можете ли вы проверить правильность значения NCR, это хорошая ссылка http://www.fileformat.info/info/unicode/char/2713/index.htm
источник
Убедитесь, что вы действительно сохранили файл как UTF-8, или используйте объекты HTML (
&#nnn;
) для специальных символов.источник
fileencoding
настройку.В отличие от предложенного Николасом,
meta
тег фактически не игнорируется браузерами. ОднакоContent-Type
заголовок HTTP всегда имеет приоритет над наличиемmeta
тега в документе.Поэтому убедитесь, что вы либо отправляете правильную кодировку через заголовок HTTP, либо вообще не отправляете этот заголовок (не рекомендуется).
meta
Тег в основном запасной вариант для локальных документов , которые не передаются через HTTP - трафик.Использование HTML-сущностей также следует рассматривать как обходной путь - обход реальной проблемы. Правильная настройка веб-сервера предотвращает множество неприятностей.
источник
Я думаю, что это проблема с файлом, вы просто сохранили свой файл в 1-байтовой кодировке, например, latin-1. Google ваш редактор и как установить файлы в utf-8.
Интересно, почему есть редакторы, которые по умолчанию не используют utf-8.
источник