#29542 [Opn->Csd]: basename() has problem in supporting multi-byte chars.
ID: 29542
Updated by: tony2001@php.net
Reported By: ppmm at wuxinan dot net
-Status: Open
+Status: Closed
Bug Type: Filesystem function related
Operating System: Windows 2000 Prof.
PHP Version: 5.0.0
Previous Comments:
------------------------------------------------------------------------
[2004-09-04 17:45:28] ppmm at wuxinan dot net
didn't try CVS, but quickly tried 5.0.1 and found no problem. This bug
must have been fixed in 5.0.1 already. Thanks.
------------------------------------------------------------------------
[2004-09-04 17:16:28] tony2001@php.net
Please try using this CVS snapshot:
http://snaps.php.net/php5-latest.tar.gz
For Windows:
http://snaps.php.net/win32/php5-win32-latest.zip
Works fine here, try the latest snapshot.
------------------------------------------------------------------------
[2004-08-05 23:42:35] ppmm at wuxinan dot net
Description:
------------
when path has multi-byte chars, basename() does not return correct file
basename. I did not have this problem in PHP 4.3.7. In the example,
$hehe variable has two gb2312-encoded chinese chars. This might relate
to setlocale or something like that.
Reproduce code:
---------------
$hehe = "hehe/ºÕºÕ haha kkk";
echo basename($hehe)."\n";
echo substr($hehe, strrpos($hehe, "/")+1);
Expected result:
----------------
ºÕºÕ haha kkk
ºÕºÕ haha kkk
Actual result:
--------------
haha kkk
ºÕºÕ haha kkk
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=29542&edit=1
Thread (6 messages)