Стандартно ли UTF8 + избегать наших международных URL? - PullRequest
2 голосов
/ 02 февраля 2012

Я вижу, что многие сайты (amazon, wikipedia и др.) Используют в своих URL-адресах кодировку UTF8, экранированный URL-адресом, и эти URL-адреса предварительно сертифицированы (по крайней мере) Chrome.

Например, мы будем представлять http://ja.wikipedia.org/wiki/メインページ как http://ja.wikipedia.org/wiki/%E3%83%A1%E3%82%A4%E3%83%B3%E3%83%9A%E3%83%BC%E3%82%B8 при написании наших http-заголовков, и Chrome и Firefox, кажется, понимают это изящно. (Я не тестировал на IE.)

Существует ли руководящий стандарт для такого поведения? Или это строго де-факто стандарт? Или это совершенно нестандартно?

Мне бы очень хотелось увидеть ссылку на определяющий абзац какого-то RFC.

Ответы [ 2 ]

1 голос
/ 02 февраля 2012

Стандарт URI гласит:

Когда новая схема URI определяет компонент, представляющий текстовые данные, состоящие из символов из универсального набора символов [ UCS ], данные должны быть сначала закодированы в виде октетов в соответствии с кодировкой символов UTF-8 [ STD63 ];тогда только те октеты, которые не соответствуют символам в незарезервированном наборе, должны быть закодированы в процентах.

Это кажется довольно определенным.

Я все еще не уверен относительно того, когда он был ратифицированили текущая поддержка браузера.

0 голосов
/ 03 февраля 2012

RFC 3987 - это новый стандарт для обработки международных URI / URL, известный как IRI. Старый стандарт RFC 3986 не поддерживает Unicode. Любой, кто еще не использует IRI, должен придумать свой собственный способ кодирования неподдерживаемых символов для своих нужд. Процентное кодирование октетов UTF-8 - это один из способов, но это, безусловно, не единственный способ, который используется на самом деле.

...