Re: urldecode problem :(

From: Date: Mon, 09 Jun 2003 08:39:03 +0000
Subject: Re: urldecode problem :(
References: 1 2  Groups: php.general 
Request: Send a blank email to php-general+get-150725@lists.php.net to get a copy of this message
Thanks, But how can I understand when to decode string and when not ? Rosen "Seairth Jacobs" <seairth@seairth.com> wrote in message news:20030606134855.93940.qmail@pb1.pair.com... > > "Rosen" <rosen@pernikinfo.com> wrote in message > news:20030606121758.10269.qmail@pb1.pair.com... > > HI, > > I'm using "urldecode" function to decode string from > > "getenv("QUERY_STRING");", but part of > > it is in cyrrilic (windows-1251) charset. > > > > I have following code: > > > > > $a="%D1%81%D1%87%D0%B5%D1%82%D0%BE%D0%B2%D0%BE%D0%B4%D0%BD%D0%B0+%D0%BA%D1%8 > > A%D1%89%D0%B0"; > > $b="%d1%ee%f4%f2%f3%e5%f0"; > > > > echo "a=" . urldecode($a); > > echo "<br>b=" . urldecode($b); > > > > On the second string it works correctly, but on first it don't. > > These two vars are getted from two different pages ( as refferers ). > > I think the problem could be in encoding used in two pages. > > When I run the code without setting a charset (defaulting to UTF-8), I get > back the following: > > a=?????????? ???? > b=????ody> > > When I run the code setting the charset to windows-1251, I get: > > a=???‡?µ?‚???????????° ?????‰?° > b=??????? > > > I'm guessing you want "a" from the first one and "b" from the second > one. > In which case, you are correct. Two different character encodings are being > URL encoded. You could convert the first string using: > > convert_cyr_string(mb_convert_encoding(urldecode($a), 'ISO-8859-5', > 'UTF-8'), 'i', 'w') > > > -- > --- > Seairth Jacobs > seairth@seairth.com > > >

« previous php.general (#150725) next »