ID: 43148 User updated by: banu_daniel1 at yahoo dot com Reported By: banu_daniel1 at yahoo dot com Status: Open Bug Type: Filesystem function related Operating System: windows xp 32 bits PHP Version: 5.2.4 New Comment:
i've don this <? if (file_exists("D:\Downloads\動之家發佈\ハヤテのごとく01\DVD_VIDEO.MDS")) echo "ok"; else echo "files dose not exist<br>\n"; print_r(glob("D:\Downloads\動之家發佈\ハヤテのごとく01\DVD_VIDEO.MDS")); //exemple from help $d = dir("D:\Downloads\動之家發佈"); echo "Handle: " . $d->handle . "\n"; echo "Path: " . $d->path . "\n"; while (false !== ($entry = $d->read())) { echo $entry."<br>\n"; } $d->close(); ?> Previous Comments: ------------------------------------------------------------------------ [2007-10-31 23:45:38] carsten_sttgt at gmx dot de > this is the hex value 453A456D696C7961FA436861642E6D7067 Well, this HEX looks like ISO-8859-1 and not UTF-8: 453A456D696C7961FA436861642E6D7067 E : E m i l y a ú C h a d . m p g (The char between Emilya and Chad is a latin small letter u with acute) > if (file_exists("E:\Emilya·Chad.mpg")) echo "ok" and is not working. In this string we have (in UTF-8): 453A5C456D696C7961C2B7436861642E6D7067 E : \ E m i l y a · C h a d . m p g (or in ISO-8859-1): 453A5C456D696C7961B7436861642E6D7067 E : \ E m i l y a · C h a d . m p g (The char between Emilya and Chad is a middle dot) This works here: <?php $name = 'Emilya·Chad.mpg'; touch($name); echo filesize($name); ?> What's the codepage/language of your system? What's the result (filename) if you use glob() or the directory class dir()? Regards, Carsten ------------------------------------------------------------------------ [2007-10-31 22:09:38] banu_daniel1 at yahoo dot com well, i copy/paste the name of the file and did this echo filesize("E:\Emilya·Chad.mpg"); and i have the same result and also this if (file_exists("E:\Emilya·Chad.mpg")) echo "ok" and is not working. this is the hex value 453A456D696C7961FA436861642E6D7067 ------------------------------------------------------------------------ [2007-10-31 20:57:46] carsten_sttgt at gmx dot de Well, the "・" is a Katakana middle dot. You have not used this char in your sample? Because I have no problems to create and access files with this char in the filename with PHP. You have a better (complete) testscript to reproduce the problem? Or what's the value $eps["FNAME"][$f] in hex? Regards, Carsten ------------------------------------------------------------------------ [2007-10-31 18:37:11] banu_daniel1 at yahoo dot com it's not a HTML entity what i had wrote in this example. I don't know whitch one convert it in html entity. The problem is that i have unicode characters in filename and filesize and file_exists (i discover just now and maybe other fuctions for files/directories access) is not working ------------------------------------------------------------------------ [2007-10-30 21:32:38] carsten_sttgt at gmx dot de The filesystem functions have no problem with unicode (utf-8). But you must use a unicode char, and not a HTML entity which are represent a unicode char. | $size= sprintf("%u", | filesize(html_entity_decode($eps["FNAME"][$f], | ENT_COMPAT, 'UTF-8') | ) | ); Regards, Carsten ------------------------------------------------------------------------ The remainder of the comments for this report are too long. To view the rest of the comments, please view the bug report online at http://bugs.php.net/43148 -- Edit this bug report at http://bugs.php.net/?id=43148&edit=1