Почему ✓ символ иногда заменяется на «один»? - PullRequest
1 голос
/ 21 марта 2019

У меня есть следующее правило css:

.icon {
    content: "✓";
    color: #337ab7;
    display: inline-block;
    width: 1em;
    margin-left: -1em;
}

, где я использую символ UTF-8 ✓.Но я обнаружил, что иногда этот символ заменяется символом «» на странице.

Почему это происходит?

[Обновить] :

  • Браузер Chorme версии 72.0.3626.121.
  • Раздел заголовка содержит <meta charset="utf-8"> объявление

[Обновление 2] : у меня естьобнаружил, что css-файл отвечает заголовком ответа:

content-encoding: br

Ответы [ 2 ]

1 голос
/ 21 марта 2019

Причина: символ равен U + 2713 (кодовая точка Unicode), который в UTF-8 кодируется как E2 9C 93.Поэтому я предполагаю, что ваш файл правильно закодирован как UTF-8.

Но каким-то образом файл читается как Windows-1252, где E2 равно â, 9C равно œ и 93 это .Возможно, ваш сервер думает, что это текст, и объявляет кодировку устаревшей кодировкой (CSS, и BTW также большинство веб-сайтов, по умолчанию должно быть UTF-8).

Возможно, вам потребуется добавить @charset "utf-8"; вверхувашего CSS, чтобы заставить браузеры интерпретировать файл как UTF-8.Подробнее см. https://www.w3.org/International/questions/qa-css-charset.

1 голос
/ 21 марта 2019

Попробуйте с сущностью: content: "\2713";

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...