Проблема кодирования в Firefox - PullRequest
0 голосов
/ 15 апреля 2011

Браузер, который я использую, это firefox, не уверен, что он делает это в других браузерах или что-то еще. То, что для меня отображается на экране вместо кавычек или апострофов, или что-то в этих строках - это поле, а внутри коробка:

00
92

Как мне от них избавиться, я просто хочу заменить их на пустые.

Ответы [ 3 ]

2 голосов
/ 15 апреля 2011

Это распространенная проблема кодировки символов, которая не имеет отношения к Firefox как таковой. Мы часто видим эту проблему с текстом, вставленным из (например) Microsoft Word, который любит заменять стандартные одинарные и двойные кавычки ASCII на изогнутые или угловые «типографские» версии, где открывающая и закрывающая кавычки различаются.

Проблема в том, что символы не переводятся из кодовой страницы MS 1252 в какую-либо кодировку, отображаемую на вашей веб-странице (обычно UTF-8 или latin1). Есть много возможных причин для этого; Я даже не буду пытаться угадать, что происходит в вашем конкретном случае. (Символ с номером 92 в cp1252 - это изогнутая закрывающая одинарная кавычка, часто используемая для апострофа.)

Часто предпочтительно заменять эти символы их стандартными эквивалентами ASCII (" или '). Другим решением, если вы только отображаете данные на веб-страницах, было бы заменить их эквивалентными объектами HTML, такими как ”, “, ’ и ‘.

Что касается их избавления, это зависит от того, как они попадают. Вам нужно будет удалить / заменить их в своем HTML, или в вашей базе данных, или где бы они ни хранились.

1 голос
/ 15 апреля 2011

Эти коробки встречаются в трех случаях:

  • Представляет байт, который недопустим в этой позиции для кодировки документа. Это обычно происходит, когда документ содержит нетекстовый формат, и когда документ указывает, что он находится в одной многобайтовой кодировке (например, UTF-8), когда он действительно находится в другом (Windows-1252).

  • Представляет кодовую точку, которая не назначена в кодировке документа. Это обычно происходит, когда документ содержит нетекст и когда он указан в одной кодировке (например, iso-8859-1), когда он действительно находится в другой (Windows-1252).

  • Представляет символ, для которого шрифт браузера не имеет глифа. (например, китайский символ на машине без шрифтов с китайскими символами.)

В этом случае я подозреваю, что документ содержит ПРАВУЮ ОДНОКВАЖНУЮ КВАРТИРУ (U + 2019, "& # x2019;"). Это кодируется как байт 0x92 в Windows-1252, очень распространенная кодировка в Windows. Если браузеру сообщают, что кодировка UTF-8 или iso-8859-1, вы столкнетесь с первой или второй проблемой соответственно.

Изменение используемой кодировки или указанной кодировки, чтобы они соответствовали, исправит это.

0 голосов
/ 15 апреля 2011

попробуйте изменить кодировку (Top Menu -> View -> Character Enconding).Если UTF-8 и ISO-8859-1 этого не делают, попробуйте Auto-Detect -> Universal.

Cheers,

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