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, süsser Tod.mp3" string(77) "/Volumes/Second/Next/Arianne/The End of Evangelion OST/Komm, sü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
