Здравствуйте. У меня вот такая проблема - мой сайт сделан целиком на юникоде и я хочу использовать ссылки типа http://mysite.ru/search/словонарусскомязыке и вроде бы при нажатии на ссылку все получается, но только вот когда я ввожу в адресную строку "словонарусскомязыке" самостоятельно, то подчиняясь неизвестной силе, Firefox кодирует символы не в UTF8 а в CP1251 и использование php-функции urldecode мне уже не помогает, т.к. я хочу чтобы посетитель мог самостоятельно вписывать URL, как это сделано, например, в википедии.
Подскажите пожалуйста, в чем я не прав, как от этого избавиться (может заголовки какие попосылать), и почему вводимый руками URL кодируется именно при помощи 1251, а не KOI-8 или чего-нибудь более экзотического, например?
Проблема в том, что одинаковый вроде бы URL в итоге кодируется двумя разными кодировками в зависимости от того ссылка это, или вручную набранный УРЛ.
Отредактировано drkwv (05-09-2007 12:09:03)
Отсутствует
Ну почему же неизвестной силе? Браузер работает под виндами или под линухом с локалью CP1251, потому и шлёт запрос в этой кодировке. А когда ссылка указана на странице, ему думать не надо, он просто передаёт её как есть.
Sine ira et studio
Отсутствует
Ну почему же неизвестной силе? Браузер работает под виндами или под линухом с локалью CP1251, потому и шлёт запрос в этой кодировке. А когда ссылка указана на странице, ему думать не надо, он просто передаёт её как есть.
Кхм. А ознакомиться с
http://tools.ietf.org/html/rfc3986
или хотя бы
http://en.wikipedia.org/wiki/Percent-encoding#Current_standard
трудно?
... чтобы понять рекурсию, нужно сперва понять рекурсию ...
Отсутствует
Ну почему же неизвестной силе? Браузер работает под виндами или под линухом с локалью CP1251, потому и шлёт запрос в этой кодировке. А когда ссылка указана на странице, ему думать не надо, он просто передаёт её как есть.
Это поведение не соответствует стандартам.
З.Ы. Проблему решил дополнительной проверкой куска URL на кодировку
Отсутствует
Balancer, увы, моё знакомство с этим документом не поможет Огнелису вести себя в соответствии со стандартом.
То, что Лис ведёт себя именно так, безусловно, не правильно. Но эти "особенности" приходится учитывать нам
Sine ira et studio
Отсутствует