Forum Webscript.Ru
Программирование => PHP => Тема начата: defter от 11 Сентября 2003, 16:13:43
-
У меня такая проблема:
Я при помощи fopen() запрашиваю страничку в URL которой как переменная CGI запроса присутствует русское слово.
При открытии страницы он заместо русского слова выдаёт закодированный вариант(как при urlencode()), при вводе в броузере вручную всё ок.
Подскажите как мне решить проблему.
-
в URL-е нельзя использовать символы кирилицы. Их нужно через urlencode() пропускать.
То что в броузере все ОК - это его фича
-
Вот адрес:
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)... Ник который точно должен работать - "Кащей".
Подскажите пожалуйста что я делаю не так. Заранее спасибо!
-
очередной ломатель комбата.
сколько ж вас тут бегает....
-
Я не ломатель... я анализатор пишу!
-
[p]urldecode[/p]
-
$nic=urlencode($nic);
Заместо русских ников передаются urlencoded
стою на асфальте я в лыжи обутый
-
пишут писатели. а ты ни разу
ты услышал краем уха в чате, что "ПэХаПэ - это КУУУЛЛЛЛ" и им "можно комбатс поломать" и решил тоже стать кулхакером с анализами.
-
RomikChef:
пишут писатели. а ты ни разу
ты услышал краем уха в чате, что "ПэХаПэ - это КУУУЛЛЛЛ" и им "можно комбатс поломать" и решил тоже стать кулхакером с анализами.
Ты ошибаешься, во-первых о PHP я не краем уха слышал, а уже давно с ним работаю, во-вторых combats ломать глупо, мне это не нужно!
-
AliMamed:
urldecodephp.net
Возвращает результат не лучше "%ea%e0%f9%e5%e9".
AliMamed:
стою на асфальте я в лыжи обутый
Можете не издеваться, а помочь человеку - напишите мою ошибку или исправьте код.
-
defter
Вопрос:
Если у тебя переменная $nic передается в срипт как тебе нужно, нафига получать его код:
$nic=urlencode($nic);
и запихивать в ссылку, а потом спрашивать почему в ссылке у меня код?
-
Phoinix:
defter
Вопрос:
Если у тебя переменная $nic передается в срипт как тебе нужно, нафига получать его код:
$nic=urlencode($nic);
и запихивать в ссылку, а потом спрашивать почему в ссылке у меня код?
Я экспериментировал с raw/urlencode - decode, пробовал и напрямую передавать параметр, всё равно выдаёт "%ea%e0%f9%e5%e9".
т.е. я пишу "?nic=Кащей", а получаю то что вверху... и немогу понять как заставить его передать параметр как есть, а не кодировать его...
Может кто-нибудь сталкивался с такой ситуацией...
-
а нафига проенкоденный ты еще раз енкодишь?? тебе его декодить надо
-
Извините конечно, но мне кажется что я по-русски объяснил:
Изначально я пробовал передавать перменную "как есть", получал "%ea%e0%f9%e5%e9", потом я пробовал это декодить(urldecode), всё равно получил тот же результат, на всякий случай попробовал и энкодить, ясное дело тоже ничего хорошего не вышло, вот я и не могу понять что же с этой переменной делать надо, чтоб она по-нормальному передалась!?