>Форум Mozilla Россия http://forum.mozilla-russia.org/index.php >Firefox http://forum.mozilla-russia.org/viewforum.php?id=4 >Русские символы в URL http://forum.mozilla-russia.org/viewtopic.php?id=18861 |
drkwv > 05-09-2007 12:07:43 |
Здравствуйте. У меня вот такая проблема - мой сайт сделан целиком на юникоде и я хочу использовать ссылки типа http://mysite.ru/search/словонарусскомязыке и вроде бы при нажатии на ссылку все получается, но только вот когда я ввожу в адресную строку "словонарусскомязыке" самостоятельно, то подчиняясь неизвестной силе, Firefox кодирует символы не в UTF8 а в CP1251 и использование php-функции urldecode мне уже не помогает, т.к. я хочу чтобы посетитель мог самостоятельно вписывать URL, как это сделано, например, в википедии. Подскажите пожалуйста, в чем я не прав, как от этого избавиться (может заголовки какие попосылать), и почему вводимый руками URL кодируется именно при помощи 1251, а не KOI-8 или чего-нибудь более экзотического, например? Проблема в том, что одинаковый вроде бы URL в итоге кодируется двумя разными кодировками в зависимости от того ссылка это, или вручную набранный УРЛ. |
Anei > 05-09-2007 15:34:42 |
Ну почему же неизвестной силе? Браузер работает под виндами или под линухом с локалью CP1251, потому и шлёт запрос в этой кодировке. А когда ссылка указана на странице, ему думать не надо, он просто передаёт её как есть. |
Balancer > 05-09-2007 17:01:54 |
Anei пишет
Кхм. А ознакомиться с http://tools.ietf.org/html/rfc3986 или хотя бы http://en.wikipedia.org/wiki/Percent-encoding#Current_standard трудно? |
drkwv > 05-09-2007 20:59:59 |
Это поведение не соответствует стандартам. З.Ы. Проблему решил дополнительной проверкой куска URL на кодировку |
Anei > 06-09-2007 10:57:02 |
Balancer, увы, моё знакомство с этим документом не поможет Огнелису вести себя в соответствии со стандартом. То, что Лис ведёт себя именно так, безусловно, не правильно. Но эти "особенности" приходится учитывать нам |