#26391 [NEW]: parse_url(urldecode($url)) destroys %88
| From: | towb at tiscali dot de | Date: | Mon, 24 Nov 2003 22:32:09 +0000 |
| Subject: | #26391 [NEW]: parse_url(urldecode($url)) destroys %88 | ||
| Groups: | php.bugs | ||
| Request: | Send a blank email to php-bugs+get-50937@lists.php.net to get a copy of this message | ||
From: towb at tiscali dot de
Operating system: MacOS X 10.2.6
PHP version: 4.3.4
PHP Bug Type: *URL Functions
Bug description: parse_url(urldecode($url)) destroys %88
Description:
------------
Only on MacOS do PHP 4.3.3 and .4 return different
values for parse_url(urldecode($url)) and
urldecode(parse_url($url)) when UTF-8 characters are
involved.
The correct result below (identical strings) comes from
PHP 4.3.4 on Linux/x86.
Reproduce code:
---------------
$string =
"file://localhost/Volumes/Second/Next/Arianne/The%20End%20of%20Evangelion%20OST/Komm,%20su%CC%88sser%20Tod.mp3";
$first_decode = urldecode($string);
$first_url = parse_url($first_decode);
$first_path = $first_url['path'];
$last_url = parse_url($string);
$last_path = $last_url['path'];
$last_decode = urldecode($last_path);
var_dump($first_path, $last_decode);
var_dump(urlencode($first_path), urlencode($last_decode));
Expected result:
----------------
string(77) "/Volumes/Second/Next/Arianne/The End of
Evangelion OST/Komm, suÌsser Tod.mp3"
string(77) "/Volumes/Second/Next/Arianne/The End of
Evangelion OST/Komm, suÌsser Tod.mp3"
string(95)
"%2FVolumes%2FSecond%2FNext%2FArianne%2FThe+End+of+Evan
gelion+OST%2FKomm%2C+su%CC%88sser+Tod.mp3"
string(95)
"%2FVolumes%2FSecond%2FNext%2FArianne%2FThe+End+of+Evan
gelion+OST%2FKomm%2C+su%CC%88sser+Tod.mp3"
Actual result:
--------------
string(77) "/Volumes/Second/Next/Arianne/The End of
Evangelion OST/Komm, su?_sser Tod.mp3"
string(77) "/Volumes/Second/Next/Arianne/The End of
Evangelion OST/Komm, süsser Tod.mp3"
string(93)
"%2FVolumes%2FSecond%2FNext%2FArianne%2FThe+End+of+Evan
gelion+OST%2FKomm%2C+su%CC_sser+Tod.mp3"
string(95)
"%2FVolumes%2FSecond%2FNext%2FArianne%2FThe+End+of+Evan
gelion+OST%2FKomm%2C+su%CC%88sser+Tod.mp3"
--
Edit bug report at http://bugs.php.net/?id=26391&edit=1
--
Try a CVS snapshot (php4): http://bugs.php.net/fix.php?id=26391&r=trysnapshot4
Try a CVS snapshot (php5): http://bugs.php.net/fix.php?id=26391&r=trysnapshot5
Fixed in CVS: http://bugs.php.net/fix.php?id=26391&r=fixedcvs
Fixed in release: http://bugs.php.net/fix.php?id=26391&r=alreadyfixed
Need backtrace: http://bugs.php.net/fix.php?id=26391&r=needtrace
Try newer version: http://bugs.php.net/fix.php?id=26391&r=oldversion
Not developer issue: http://bugs.php.net/fix.php?id=26391&r=support
Expected behavior: http://bugs.php.net/fix.php?id=26391&r=notwrong
Not enough info: http://bugs.php.net/fix.php?id=26391&r=notenoughinfo
Submitted twice: http://bugs.php.net/fix.php?id=26391&r=submittedtwice
register_globals: http://bugs.php.net/fix.php?id=26391&r=globals
PHP 3 support discontinued: http://bugs.php.net/fix.php?id=26391&r=php3
Daylight Savings: http://bugs.php.net/fix.php?id=26391&r=dst
IIS Stability: http://bugs.php.net/fix.php?id=26391&r=isapi
Install GNU Sed: http://bugs.php.net/fix.php?id=26391&r=gnused
Floating point limitations: http://bugs.php.net/fix.php?id=26391&r=float