Thanks,
But how can I understand when to decode string and when not ?
Rosen
Seairth Jacobs [EMAIL PROTECTED] wrote in message
news:[EMAIL PROTECTED]
Rosen [EMAIL PROTECTED] wrote in message
news:[EMAIL PROTECTED]
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 brb= . 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
[EMAIL PROTECTED]
--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php