Является ли Юникод набором символов по умолчанию для HTML и XML? - PullRequest
0 голосов
/ 08 августа 2011

Я вижу, что некоторая информация, такая как Книга Юникода и некоторая Статья Википедии , говорят нам, что Юникод является набором символов по умолчанию для HTML и XML.

Я понимаю слова «Набор символов», как «реперториум», с которым вы можете работать при создании файла. Это приводит к тому, что некоторые редакторы устанавливают свои собственные наборы символов по умолчанию независимо от того, какой файл будет работать. Независимо от того, пытаетесь ли вы создать файл HTML, некоторые редакторы не устанавливают Юникод по умолчанию.

Что оставляет вопрос: если Unicode является набором символов по умолчанию HTML и XML или зависит от редактора, использованного для создания файла ...

Ответы [ 4 ]

2 голосов
/ 08 августа 2011

Я полагаю, что вы можете назвать Unicode "по умолчанию", потому что и HTML , и XML определяют их допустимое содержимое в терминах Unicode.

Однако файл не может быть «в Unicode», он должен быть в некоторой кодировке Unicode. По умолчанию XML-файлы должны быть в кодировке UTF-8 или UTF-16, если в прологе не указано иное. Спецификация HTML явно оставляет поддерживаемые кодировки неопределенными и указывает, что кодировка обрабатывается транспортным протоколом (например, HTTP).

1 голос
/ 08 августа 2011

Важно различать набор символов, которые могут появиться в документе HTML (что является довольно абстрактным понятием), и символ , кодирующий , который используется для хранения / передачи файла HTML.

Значение по умолчанию для последнего зависит от настроек OS / браузера / HTML-редактора, и это определенно не Unicode , потому что Unicode не является кодировкой.Это может быть «UTF-8», который является кодировкой символов для Unicode - точно так же, как, например, «UTF-16» (эти кодировки отличаются от, например, «ISO-8859-1», который не может кодировать все символы Unicode).

В целом, важно, чтобы вы установили для своего редактора ту же кодировку, которую вы объявили в своем HTML-файле.Некоторые редакторы делают это автоматически, но многие этого не делают.

1 голос
/ 08 августа 2011

Если я правильно прочитал ваш вопрос, вам нужно провести различие между

  • набор символов, который вы использовали
  • набор символов, который вы объявили

Набор символов, который вы фактически использовали при создании документа, - тот, который вы установили в своем редакторе. Теперь вам нужно убедиться, что потребители вашего файла будут правильно его читать, т. Е. Использованный вами набор символов также является тем, который вы объявляете.

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

<?xml version="1.0" encoding="ISO-8859-1"?>

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

1 голос
/ 08 августа 2011

Зависит от человека, редактирующего документ, а не от редактора.Редактор использует кодировку, наиболее подходящую для автора (или то, что, по его мнению, лучше всего подходит для автора), по умолчанию.

В основном, если вы не укажете кодировку или если клиентское программное обеспечение этого не сделаетраспознавать заголовки, которые отправляет сервер, он может / должен по умолчанию использовать юникод.Я не думаю, что все это является обязательным - это просто стало обычным поведением.

...