Полезная информация

В мире Mozilla происходит много интересных событий. Но вам не нужно постоянно посещать новостные сайты, чтобы быть в курсе всех изменений. Зайдите на ленту новостей Mozilla Россия.

№105-09-2007 12:07:43

drkwv
Участник
 
Группа: Members
Зарегистрирован: 05-09-2007
Сообщений: 14
UA: Firefox 2.0

Русские символы в URL

Здравствуйте. У меня вот такая проблема - мой сайт сделан целиком на юникоде и я хочу использовать ссылки типа http://mysite.ru/search/словонарусскомязыке и вроде бы при нажатии на ссылку все получается, но только вот когда я ввожу в адресную строку "словонарусскомязыке" самостоятельно, то подчиняясь неизвестной силе, Firefox кодирует символы не в UTF8 а в CP1251 и использование php-функции urldecode мне уже не помогает, т.к. я хочу чтобы посетитель мог самостоятельно вписывать URL, как это сделано, например, в википедии.

Подскажите пожалуйста, в чем я не прав, как от этого избавиться (может заголовки какие попосылать), и почему вводимый руками URL кодируется именно при помощи 1251, а не KOI-8 или чего-нибудь более экзотического, например?

Проблема в том, что одинаковый вроде бы URL в итоге кодируется двумя разными кодировками в зависимости от того ссылка это, или вручную набранный УРЛ.

Отредактировано drkwv (05-09-2007 12:09:03)

Отсутствует

 

№205-09-2007 15:34:42

Anei
Участник
 
Группа: Members
Откуда: Москва
Зарегистрирован: 04-11-2004
Сообщений: 27
UA: Firefox 2.0
Веб-сайт

Re: Русские символы в URL

Ну почему же неизвестной силе? Браузер работает под виндами или под линухом с локалью CP1251, потому и шлёт запрос в этой кодировке. А когда ссылка указана на странице, ему думать не надо, он просто передаёт её как есть.


Sine ira et studio

Отсутствует

 

№305-09-2007 17:01:54

Balancer
Участник
 
Группа: Members
Зарегистрирован: 10-11-2004
Сообщений: 898
UA: Opera 9.5
Веб-сайт

Re: Русские символы в URL

Anei пишет

Ну почему же неизвестной силе? Браузер работает под виндами или под линухом с локалью CP1251, потому и шлёт запрос в этой кодировке. А когда ссылка указана на странице, ему думать не надо, он просто передаёт её как есть.

Кхм. А ознакомиться с

http://tools.ietf.org/html/rfc3986

или хотя бы

http://en.wikipedia.org/wiki/Percent-encoding#Current_standard

трудно?


... чтобы понять рекурсию, нужно сперва понять рекурсию ...

Отсутствует

 

№405-09-2007 20:59:59

drkwv
Участник
 
Группа: Members
Зарегистрирован: 05-09-2007
Сообщений: 14
UA: IE 6.0

Re: Русские символы в URL

Ну почему же неизвестной силе? Браузер работает под виндами или под линухом с локалью CP1251, потому и шлёт запрос в этой кодировке. А когда ссылка указана на странице, ему думать не надо, он просто передаёт её как есть.

Это поведение не соответствует стандартам.

З.Ы. Проблему решил дополнительной проверкой куска URL на кодировку

Отсутствует

 

№506-09-2007 10:57:02

Anei
Участник
 
Группа: Members
Откуда: Москва
Зарегистрирован: 04-11-2004
Сообщений: 27
UA: Firefox 2.0
Веб-сайт

Re: Русские символы в URL

Balancer, увы, моё знакомство с этим документом не поможет Огнелису вести себя в соответствии со стандартом.

То, что Лис ведёт себя именно так, безусловно, не правильно. Но эти "особенности" приходится учитывать нам :(


Sine ira et studio

Отсутствует

 

Board footer

Powered by PunBB
Modified by Mozilla Russia
Copyright © 2004–2020 Mozilla Russia GitHub mark
Язык отображения форума: [Русский] [English]