Bug #30195 [Com]: scandir etc cannot read Chinese file/folder name
| From: | bsy at breadlab dot net | Date: | Sat, 20 Sep 2014 16:36:17 +0000 |
| Subject: | Bug #30195 [Com]: scandir etc cannot read Chinese file/folder name | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-187624@lists.php.net to get a copy of this message | ||
Edit report at https://bugs.php.net/bug.php?id=30195&edit=1
ID: 30195
Comment by: bsy at breadlab dot net
Reported by: percy at savant dot us
Summary: scandir etc cannot read Chinese file/folder name
Status: No Feedback
Type: Bug
Package: *Directory/Filesystem functions
Operating System: windows xp/2003
PHP Version: 5CVS-2004-09-22 (dev)
Block user comment: N
Private report: N
New Comment:
All solutions above didn't solve the problem in php5.2.12.
I'm using Korean Windows7 and failed to print japanese characters.
But my system could print Korean, special letters(like â), and the characters that are used in
both Korean and Japanese.
For example, é is used in Korean and é is used in Japanese.
Then my system prints only the former.
Previous Comments:
------------------------------------------------------------------------
[2011-11-04 12:45:52] martin dot keckeis1 at gmail dot com
Its a problem in PHP general.
This could have been solved with PHP 6.0 (general multibyte support).
There are some workarounds in the internet with the windows console.
------------------------------------------------------------------------
[2011-06-07 00:08:23] spidgorny at gmail dot com
Same problem (files with question marks) with Russian files in PHP 5.3.0 on Windows 7.
mb_convert_encoding() can't help converting question marks.
Maybe DirectoryIterator will help.
------------------------------------------------------------------------
[2010-08-29 18:13:24] onekamil at gmail dot com
Hi, have the same problem and my solution is: using mb_convert_encoding.
$open = opendir($path);
foreach( $open as $value )
{
$value = mb_convert_encoding($value, mb_detect_order($value), "UTF-8");
}
If saving file to folder using urlencode. To view using urldecode.
------------------------------------------------------------------------
[2007-03-31 23:30:05] missingno at ifrance dot com
Same problem here.
On WinXP with PHP 5.2.0, using iso-8859-1 as charset for the system (though the filesystem uses
utf-8 for folders/files names).
I need to access folders whose names are encoded using UTF-8.
readdir/scandir won't allow me to do so (returning '?' for characters outside the
system charset).
The page is served like this:
header('Content-Type: text/html; charset=utf-8');
So the browser really isn't at fault.
Serving the document with a more specific charset is not an option since I have to display texts in
many different languages on the page.
As moleary at preg dot org suggested, it would be really nice to have an option to force PHP to use
a certain encoding while accessing the filesystem. Or maybe, make it so that it uses the same
encoding as the filesystem instead of defaulting to iso-8859-1...
------------------------------------------------------------------------
[2006-07-10 10:02:31] gandhavallakiran at yahoo dot co dot in
hi i have used the babel class in my coding of php. but it could not read the characters of china
and japan i.e. special characters. it is displaying the blank space instead of china or japan text.
could you help me in this reacord how to display china characters in php. please it is very urgent
kindly help me.
------------------------------------------------------------------------
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
https://bugs.php.net/bug.php?id=30195
--
Edit this bug report at https://bugs.php.net/bug.php?id=30195&edit=1