#encoding #utf-8
#кодирование #utf-8
Вопрос:
В моем браузере FF кодировка установлена в UTF-8. Французские акценты отображаются правильно на всех страницах, кроме одной страницы. На странице проблем они отображаются как метки «?». Когда я меняю кодировку на западную, страница проблем правильно отображает французские акценты, в то время как другие страницы теперь не отображают французские акценты должным образом.
В IE установлен UTF-8, и на всех страницах отображаются правильные французские акценты
Ответ №1:
Я знаю, что это старый пост. Но я столкнулся с той же проблемой, и я использовал htmlentities() в php, когда больше ничего не получилось. Это решило для меня задачу, поэтому я подумал упомянуть об этом здесь, чтобы кто-то еще мог извлечь из этого пользу.
Ответ №2:
Что это за веб-страница?
Скорее всего, собственная кодировка страницы — ISO 8859-1 или что-то подобное (чистая 8-битная кодировка). Некоторые веб-страницы не утруждают себя указанием собственной кодировки в Content-Type:
заголовке, оставляя браузеру самому догадываться. По-видимому, в этом случае Internet Explorer угадывает лучше, чем Firefox.
Если у вас есть curl
команда, попробуйте curl --head URL
посмотреть, как и указана ли кодировка, или щелкните правой кнопкой мыши и View Page Info
в Firefox.
Вы можете связаться с владельцем веб-страницы и попросить их правильно установить кодировку (или, как я бы сделал, просто проигнорировать ее).
Комментарии:
1. HTML-страница может указать свою кодировку локально с помощью
<meta>
тега (<meta http-equiv="Content-Type" value="text/html; charset="...">
в HTML4 и более ранних версиях,<meta charset="...">
в HTML5) в случаеContent-Type
, если в заголовке HTTP отсутствует кодировка (или переопределить ее, если она неправильная).2. @Keith: Спасибо за такой потрясающий ответ. Кодировка UTF-8 (я сделал «просмотр информации о странице»). Французский текст считывается из файла свойств, где он указан следующим образом: D u00e9tails (подробнее на французском языке). Это кодировка UTF-16. Интересно, вызывает ли это проблему. Что вы думаете?