О спецификации HTML 4.0

         

B.2.1 Символы, не входящие в набор ASCII, в значениях атрибутов URI


Хотя URI и не включают символы, не входящие в набор ASCII, (см. [URI], раздел 2.1) авторы иногда указывают их в значениях атрибутоах, в которых должны указываться URI (например, в атрибуты, определенные как в ). Например, следующее значение атрибута недопустимо:

<A href="http://foo.org/Håkon">...</A>

Для обработки символов, не входящих в набор ASCII, в таких случаях агентам пользователей рекомендуется:

  • Представлять каждый символ UTF-8 (см. [RFC2044]) как один или несколько байт.
  • Выделять эти байты с помощью механизма выделения URI (т.е. путем преобразования каждого байта в %HH, где HH - шестнадцатеричная запись значения байта).
  • Эта процедура приводит к созданию синтаксически допустимого URI (в соответствии с [RFC1738], раздел 2.2 или [RFC2141], раздел 2), не зависящему от кодировки символов, с использованием которой может быть закодирован документ HTML, в котором указан этот URI.

    Примечание. Более старые агенты пользователей обрабатывают URI в HTML тривиальным способом, исопльзуя байты кодировки символов, в которой получен документ. Некоторые более старые документы HTML используют эту практику и при транскодировании поверждаются. Агенты пользователей, которым необходимо обрабатывать такие документа, при получении URI, содержащего не входящие в допустимый набор символы, должны сначала использовать приеобразование на базе UTF-8. Только если резултирующий URI не определяется, они должны пытатья построить URI на базе байтов , в которой получен документ.

    Примечание. Такое жп преобразование на базе UTF-8 должно применяться и к значениям атрибута элемента .



    Содержание раздела