Странные квадратно-цифровые символы отображаются как символы в Firefox

13243
3498DB

Я уже давно вижу эти странные символы, и мне любопытно, что они собой представляют и почему они появляются. Иногда они появляются так часто на одной странице, что запись не поддается расшифровке. Символы отображаются так же, как и ниже в Firefox, но в Internet Explorer они выглядят как маленькие квадраты.

Вот пример:

enter image description here

  1. Кто они такие?
  2. Как мне от них избавиться?
5

4 ответа на вопрос

9
bobince

В общем, Firefox отображает все символы Unicode, для которых он не может найти глиф в ваших шрифтах, как блок, содержащий код символа. Если вы идете, например. китайский веб-сайт, и у вас не установлены китайские шрифты, вы получите только маленькие коробочки.

Однако этот конкретный символ на скриншоте is U + FFFD ЗАМЕНА ХАРАКТЕР. (Я получаю ромбовидную форму со знаком вопроса; вы также можете получить квадратную коробку или просто знак вопроса.)

Если кто-то намеренно не набрал этот символ, что маловероятно (за исключением того, что я только что делал это выше), U + FFFD означает, что кто-то испортил их кодировки в некоторой точке вдоль линии, и либо:

  • пытался закодировать символ в кодировку, которая его не поддерживает, например, если кто-то пытался отправить китайский символ в кодировке Latin-1, или

  • служил закодированной последовательности байтов как UTF-8, когда на самом деле это что-то другое.

На конкретном скриншоте это явная проблема, когда «умные цитаты» были представлены в виде единой кодовой страницы Windows размером 1252 байта. Тогда данные, вероятно, были ошибочно отнесены к UTF-8.

Если неправильное указание связано с тем, что ваш браузер неправильно угадывает кодировку (для глупых страниц, которые не обозначают свои кодировки), вы можете исправить это, перейдя в View-> Encoding и угадав правильную. Там, где неправильное распределение связано с собственной обработкой строк веб-сайтом, вы ничего не можете с этим поделать. К сожалению, многие веб-сайты неправильно используют кодировки, особенно те, которые написаны на невежественных языках Unicode, таких как PHP, classic-ASP, Ruby и JSP (несмотря на нативные строки Java, JSP / Servlet довольно плохо работает с кодировками).

4
Lee B

Они ЮНИКОДНЫЕ МЕСТОРОЖДЕНИЯ; число представляет кодовую точку Unicode для глифа, который отсутствует в доступных шрифтах. Используйте шрифт, который охватывает больше необходимых символов Юникода, и эти поля будут заменены хорошими международными символами.

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

3
Jason S

Это символы Юникода ; Я задал этот вопрос с печатью на суперпользователе .

Привет спасибо .. Я попытался изменить настройки, как описано в вашем посте в суперпользователе, но символы по-прежнему появляются. Но хотя бы я знаю, какие они сейчас, так что ура :) 15 лет назад 0
2
Eric

Символы, которые символ представляет, являются умными кавычками ( и ), неправильно введенными слишком энергичным копированием и вставкой пальца. Или, скорее, они используются такими программами, как Microsoft Word, для представления умных цитат. Либо обе кавычки должны быть ", либо первая должна быть, “а вторая ”.