Forum Webscript.Ru

Программирование => PHP => Тема начата: defter от 11 Сентября 2003, 16:13:43

Название: Русский в URL
Отправлено: defter от 11 Сентября 2003, 16:13:43
У меня такая проблема:
Я при помощи fopen() запрашиваю страничку в URL которой как переменная CGI запроса присутствует русское слово.
При открытии страницы он заместо русского слова выдаёт закодированный вариант(как при urlencode()), при вводе в броузере вручную всё ок.
Подскажите как мне решить проблему.
Название: Русский в URL
Отправлено: Макс от 11 Сентября 2003, 19:04:27
в URL-е нельзя использовать символы кирилицы. Их нужно через urlencode() пропускать.
То что в броузере все ОК - это его фича
Название: Русский в URL
Отправлено: defter от 12 Сентября 2003, 09:29:06
Вот адрес:
http://trioclan.hoha.ru/test/z.php?nic=

Вот код:
$nic=urlencode($nic);
$fh=fopen("http://combats.ru/inf.pl?login=$nic","r");
 while($tmp_str = fgets($fh,4096))
 {
  echo "$tmp_str";
 }
?>

Заместо русских ников передаются urlencoded да ещё с заменой % на %25 (т.е 2 раза urlencoded)... Ник который точно должен работать - "Кащей".
Подскажите пожалуйста что  я  делаю не так. Заранее спасибо!
Название: Русский в URL
Отправлено: Меняздесьдавнонет от 12 Сентября 2003, 12:39:09
очередной ломатель комбата.
сколько ж вас тут бегает....
Название: Русский в URL
Отправлено: defter от 12 Сентября 2003, 12:43:20
Я не ломатель... я анализатор пишу!
Название: Русский в URL
Отправлено: AliMamed от 12 Сентября 2003, 12:51:55
[p]urldecode[/p]
Название: Русский в URL
Отправлено: AliMamed от 12 Сентября 2003, 12:53:20
Цитировать
$nic=urlencode($nic);


Цитировать
Заместо русских ников передаются urlencoded

стою на асфальте я в лыжи обутый
Название: Русский в URL
Отправлено: Меняздесьдавнонет от 12 Сентября 2003, 13:45:18
пишут писатели. а ты ни разу
ты услышал краем уха в чате, что "ПэХаПэ - это КУУУЛЛЛЛ" и им "можно комбатс поломать" и решил тоже стать кулхакером с анализами.
Название: Русский в URL
Отправлено: defter от 12 Сентября 2003, 15:44:02
Цитировать
RomikChef:
пишут писатели. а ты ни разу
ты услышал краем уха в чате, что "ПэХаПэ - это КУУУЛЛЛЛ" и им "можно комбатс поломать" и решил тоже стать кулхакером с анализами.


Ты ошибаешься, во-первых о PHP я не краем уха слышал, а уже давно с ним работаю, во-вторых combats ломать глупо, мне это не нужно!
Название: Русский в URL
Отправлено: defter от 12 Сентября 2003, 15:47:23
Цитировать
AliMamed:
urldecodephp.net


Возвращает результат не лучше "%ea%e0%f9%e5%e9".

Цитировать
AliMamed:
стою на асфальте я в лыжи обутый


Можете не издеваться, а помочь человеку - напишите мою ошибку или исправьте код.
Название: Русский в URL
Отправлено: Phoinix от 12 Сентября 2003, 16:05:34
defter
Вопрос:
Если у тебя переменная $nic передается в срипт как тебе нужно, нафига получать его код:

$nic=urlencode($nic);

и запихивать в ссылку, а потом спрашивать почему в ссылке у меня код?
Название: Русский в URL
Отправлено: defter от 12 Сентября 2003, 18:32:36
Цитировать
Phoinix:
defter
Вопрос:
Если у тебя переменная $nic передается в срипт как тебе нужно, нафига получать его код:

$nic=urlencode($nic);

и запихивать в ссылку, а потом спрашивать почему в ссылке у меня код?


Я экспериментировал с raw/urlencode - decode, пробовал и напрямую передавать параметр, всё равно выдаёт "%ea%e0%f9%e5%e9".

т.е. я пишу "?nic=Кащей", а получаю то что вверху... и немогу понять как заставить его передать параметр как есть, а не кодировать его...

Может кто-нибудь сталкивался с такой ситуацией...
Название: Русский в URL
Отправлено: AliMamed от 12 Сентября 2003, 18:39:23
а нафига проенкоденный ты еще раз енкодишь?? тебе его декодить надо
Название: Русский в URL
Отправлено: defter от 14 Сентября 2003, 17:51:56
Извините конечно, но мне кажется что я по-русски объяснил:
Изначально я пробовал передавать перменную "как есть", получал "%ea%e0%f9%e5%e9", потом я пробовал это декодить(urldecode), всё равно получил тот же результат, на всякий случай попробовал и энкодить, ясное дело тоже ничего хорошего не вышло, вот я и не могу понять что же с этой переменной делать надо, чтоб она по-нормальному передалась!?