Должны ли все акцентированные символы использовать html-сущности? - PullRequest
14 голосов
/ 06 марта 2012

Я работаю с большим количеством HTML-файлов, которые в основном закодированы как utf-8.Есть много символов с акцентом на французском языке.Я конвертировал их в HTML-сущности, но заметил, что даже в IE5.5 (согласно тестеру IE) неконвертированные символы с акцентом отображаются правильно.

Должен ли я относиться к отображению символов и преобразовывать ихвсе для сущностей HTML, чтобы быть в безопасности?

Ответы [ 3 ]

17 голосов
/ 06 марта 2012

Если файлы имеют кодировку UTF-8, вы должны установить заголовок Content-Type равным text/html; charset=UTF-8 и иметь эквивалентный метатег на странице:

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

Это дает браузеру всю информацию для правильного отображения символов UTF-8. Нет необходимости кодировать акцентированные символы.

4 голосов
/ 06 марта 2012

Обычно нет смысла использовать объекты для символов, таких как буквы с акцентом.Их использование допустимо, но имеет тенденцию запутывать исходный код и, следовательно, может вызывать ошибки.

Однако в некоторых случаях сущности необходимы.Причины связаны не с браузерами, а с авторской стороной.В частности, если вам нужно редактировать файлы с помощью редактора или авторской программы, которая плохо обрабатывает акцентированные буквы, вы можете найти объекты полезными.То же самое относится, если данные должны пройти через какое-то программное обеспечение, которое имеет аналогичные проблемы.А в некоторых случаях вам необходимо работать в среде, где вы не можете контролировать заголовки HTTP, а заголовки указывают кодировку, которая не позволяет вводить все символы напрямую.

2 голосов
/ 06 марта 2012

Следует помнить, что французский является частью семейства UTF-8 наряду с португальским, испанским и т. Д., Поэтому они будут отображаться правильно с установленным тегом UTF-8, при этом браузер также использует UTF-8. для страницы.

Проблема в том, что когда на страницу заходит человек, использующий браузер, который вынуждает другую кодировку, это прервет незашифрованные символы. Это происходит немного здесь, в Бразилии, где многие браузеры не настроены на автоматическое определение кодировки и настроены на стандарт ISO-8859-1, который используется здесь.

Так что, где это возможно, закодируйте все свои «специальные» символы для максимально универсального доступа.

Надеюсь, это поможет!

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