|  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #26391 parse_url destroy UTF-8 when SAPI=CLI
Submitted: 2003-11-24 17:32 UTC Modified: 2003-12-03 15:59 UTC
From: towb at tiscali dot de Assigned:
Status: Closed Package: *URL Functions
PHP Version: 4.3.4 OS: MacOS X 10.2.6
Private report: No CVE-ID: None
Welcome back! If you're the original bug submitter, here's where you can edit the bug or add additional notes.
If this is not your bug, you can add a comment by following this link.
If this is your bug, but you forgot your password, you can retrieve your password here.
Bug Type:
From: towb at tiscali dot de
New email:
PHP Version: OS:


 [2003-11-24 17:32 UTC] towb at tiscali dot de
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 

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"

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"


Add a Patch

Pull Requests

Add a Pull Request


AllCommentsChangesGit/SVN commitsRelated reports
 [2003-11-24 20:10 UTC]
Please try using this CVS snapshot:
For Windows:

Cannot replicate in latest CVS.
 [2003-11-26 11:35 UTC] towb at tiscali dot de
I suppose this is a standard reply. The problem only 
occurs on MacOS.

I can reproduce it with php4-STABLE-200311261430 (built 
--disable-cgi --disable-all --without-pear).

The exact file I used to check is at http:// and the result (using 
CLI php > file) at

Both are identical to the orignal report.
 [2003-11-26 13:34 UTC] towb at tiscali dot de
I made the mistake of only testing with CLI on MacOS. 
Repeated with APXS the output is correct and identical 
to x86.
So it is probably related to the SAPI rather than the 
platform. I cannot test with CLI on x86.

Still, the CVS build does give the deviating result 
using CLI.
 [2003-11-26 16:21 UTC]
parse_url is not affected by character encoding. Further tests on both MacOSX and X86 could not verify the reported bug.
Tests were done using CLI SAPI.
 [2003-12-03 15:59 UTC]
This bug has been fixed in CVS.

In case this was a PHP problem, snapshots of the sources are packaged
every three hours; this change will be in the next snapshot. You can
grab the snapshot at
In case this was a documentation problem, the fix will show up soon at

In case this was a website problem, the change will show
up on the site and on the mirror sites in short time.
Thank you for the report, and for helping us make PHP better.

I'm not sure that my patch did fix this problem, but the 
code was obviously so wrong that it may cause this kind 
of weirdness.

PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Tue May 21 07:01:31 2024 UTC