ID: 30195
Comment by: dev at glossword dot info
Reported By: percy at savant dot us
Status: Open
Bug Type: *Directory/Filesystem functions
Operating System: windows xp/2003
PHP Version: 5CVS-2004-09-22 (dev)
New Comment:
There is the same problem with php 5.0.2.
How to reproduce:
1. Create file w�اアいנ.txt (urlencoded string
is w%d1%88%d8%a7%e3%82%a2%e3%81%84%d7%a0.txt)
2. Read directory, readdir().
3. You'll get wø????.txt (w%c3%b8????.txt) instead of proper
name.
With this bug, it is impossible to manage multilingual file names.
Previous Comments:
------------------------------------------------------------------------
[2004-11-18 18:50:04] phoenix95 at hotmail dot com
I'm not 100% sure we have the same problem... What I experienced is
readdir choking on directory names with special characters like an e
acute.
I use PHP 4.3.9 in debug mode from the Komodo v.3 IDE on Windows XP Pro
SP2 english. This happens with the PEAR package
File_Find::mapTreeMultiple().
------------------------------------------------------------------------
[2004-09-23 16:51:58] percy at savant dot us
The code:
$dir = 'test';
$files1 = scandir($dir);
print_r($files1);
Result:
subdir
����
a
dkeij
PHPinfo:
System Windows NT IBM99L9V8F 5.1 build 2600
Build Date Aug 12 2004 23:30:01
Configure Command cscript /nologo configure.js "--with-gd=shared"
"--enable-snapshot-build"
Server API ISAPI
Virtual Directory Support enabled
Configuration File (php.ini) Path C:\WINDOWS\php.ini
PHP API 20031224
PHP Extension 20040412
Zend Extension 220040412
Debug Build no
Thread Safety enabled
IPv6 Support enabled
Registered PHP Streams php, file, http, ftp, compress.zlib
Registered Stream Socket Transports tcp, udp
This program makes use of the Zend Scripting Language Engine:
Zend Engine v2.0.1, Copyright (c) 1998-2004 Zend Technologies
--------------------------------------------------------------------------------
PHP Credits
--------------------------------------------------------------------------------
Configuration
PHP Core
Directive Local Value Master Value
allow_call_time_pass_reference Off Off
allow_url_fopen On On
always_populate_raw_post_data Off Off
arg_separator.input & &
arg_separator.output & &
asp_tags Off Off
auto_append_file no value no value
auto_globals_jit On On
auto_prepend_file no value no value
browscap no value no value
default_charset utf-8 utf-8
default_mimetype text/html text/html
define_syslog_variables Off Off
disable_classes no value no value
disable_functions no value no value
display_errors Off Off
display_startup_errors Off Off
doc_root no value no value
docref_ext no value no value
docref_root no value no value
enable_dl On On
error_append_string no value no value
error_log no value no value
error_prepend_string no value no value
error_reporting 2047 2047
expose_php On On
extension_dir c:\php\ext c:\php\ext
file_uploads On On
highlight.bg #FFFFFF #FFFFFF
highlight.comment #FF8000 #FF8000
highlight.default #0000BB #0000BB
highlight.html #000000 #000000
highlight.keyword #007700 #007700
highlight.string #DD0000 #DD0000
html_errors On On
ignore_repeated_errors Off Off
ignore_repeated_source Off Off
ignore_user_abort Off Off
implicit_flush Off Off
include_path .;C:\php5\pear .;C:\php5\pear
log_errors On On
log_errors_max_len 1024 1024
magic_quotes_gpc Off Off
magic_quotes_runtime Off Off
magic_quotes_sybase Off Off
mail.force_extra_parameters no value no value
max_execution_time 30 30
max_input_time 60 60
open_basedir no value no value
output_buffering 4096 4096
output_handler mb_output_handler mb_output_handler
post_max_size 8M 8M
precision 14 14
register_argc_argv Off Off
register_globals Off Off
register_long_arrays On On
report_memleaks On On
report_zend_debug On On
safe_mode Off Off
safe_mode_exec_dir no value no value
safe_mode_gid Off Off
safe_mode_include_dir no value no value
sendmail_from no value no value
sendmail_path no value no value
serialize_precision 100 100
short_open_tag On On
SMTP localhost localhost
smtp_port 25 25
sql.safe_mode Off Off
track_errors Off Off
unserialize_callback_func no value no value
upload_max_filesize 10M 10M
upload_tmp_dir no value no value
user_dir no value no value
variables_order GPCS GPCS
xmlrpc_error_number 0 0
xmlrpc_errors Off Off
y2k_compliance On On
zend.ze1_compatibility_mode Off Off
bcmath
BCMath support enabled
calendar
Calendar support enabled
com_dotnet
COM support enabled
DCOM support disabled
.Net support enabled
Directive Local Value Master Value
com.allow_dcom 0 0
com.autoregister_casesensitive 1 1
com.autoregister_typelib 0 0
com.autoregister_verbose 0 0
com.code_page no value no value
com.typelib_file no value no value
ctype
ctype functions enabled
dom
DOM/XML enabled
DOM/XML API Version 20031129
libxml Version 2.6.11
HTML Support enabled
XPath Support enabled
XPointer Support enabled
Schema Support enabled
RelaxNG Support enabled
exif
EXIF Support enabled
EXIF Version 1.4 $Id: exif.c,v 1.162 2004/03/16 20:58:01 derick Exp $
Supported EXIF Version 0220
Supported filetypes JPEG,TIFF
ftp
FTP support enabled
gd
GD Support enabled
GD Version bundled (2.0.28 compatible)
FreeType Support enabled
FreeType Linkage with freetype
FreeType Version 2.1.9
GIF Read Support enabled
GIF Create Support enabled
JPG Support enabled
PNG Support enabled
WBMP Support enabled
XBM Support enabled
iconv
iconv support enabled
iconv implementation "libiconv"
iconv library version 1.9
Directive Local Value Master Value
iconv.input_encoding ISO-8859-1 ISO-8859-1
iconv.internal_encoding ISO-8859-1 ISO-8859-1
iconv.output_encoding ISO-8859-1 ISO-8859-1
ISAPI
Server Variable Value
CONTENT_LENGTH 0
PATH_TRANSLATED c:\inetpub\wwwroot\al\phpinfo4debug.php
REMOTE_ADDR 127.0.0.1
REMOTE_HOST 127.0.0.1
REQUEST_METHOD GET
SERVER_NAME localhost
SERVER_PORT 80
SERVER_PROTOCOL HTTP/1.1
SERVER_SOFTWARE Microsoft-IIS/5.1
APPL_MD_PATH /LM/W3SVC/1/ROOT
APPL_PHYSICAL_PATH c:\inetpub\wwwroot\
INSTANCE_ID 1
INSTANCE_META_PATH /LM/W3SVC/1
URL /al/phpinfo4debug.php
ALL_HTTP HTTP_ACCEPT:image/gif, image/x-xbitmap, image/jpeg,
image/pjpeg, application/x-shockwave-flash, application/vnd.ms-excel,
application/vnd.ms-powerpoint, application/msword, */*
HTTP_ACCEPT_LANGUAGE:zh-tw,zh-hk;q=0.7,zh;q=0.3
HTTP_CONNECTION:Keep-Alive HTTP_HOST:localhost
HTTP_USER_AGENT:Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1;
(R1 1.5); .NET CLR 1.1.4322)
HTTP_COOKIE:PHPSESSID=s4pqtqvsrv49fv0ih7h8790g60
HTTP_ACCEPT_ENCODING:gzip, deflate
HTTPS off
SCRIPT_NAME /al/phpinfo4debug.php
SERVER_PORT_SECURE 0
libxml
libXML support active
libXML Version 2.6.11
libXML streams enabled
mbstring
Multibyte Support enabled
Multibyte string engine libmbfl
HTTP input encoding translation enabled
Multibyte (japanese) regex support enabled
Multibyte regex (oniguruma) version 2.2.4
mbstring extension makes use of "streamable kanji code filter and
converter", which is distributed under the GNU Lesser General Public
License version 2.1.
Directive Local Value Master Value
mbstring.detect_order UTF-8,BIG-5,GB2312,ASCII,SJIS,EUC-JP
UTF-8,BIG-5,GB2312,ASCII,SJIS,EUC-JP
mbstring.encoding_translation On On
mbstring.func_overload 7 7
mbstring.http_input UTF-8,BIG-5,GB2312,SJIS,EUC-JP
UTF-8,BIG-5,GB2312,SJIS,EUC-JP
mbstring.http_output UTF-8 UTF-8
mbstring.internal_encoding UTF-8 UTF-8
mbstring.language Neutral Neutral
mbstring.substitute_character no value no value
mysql
MySQL Support enabled
Active Persistent Links 0
Active Links 0
Client API version 3.23.57
Directive Local Value Master Value
mysql.allow_persistent On On
mysql.connect_timeout 60 60
mysql.default_host no value no value
mysql.default_password no value no value
mysql.default_port no value no value
mysql.default_socket no value no value
mysql.default_user no value no value
mysql.max_links Unlimited Unlimited
mysql.max_persistent Unlimited Unlimited
mysql.trace_mode Off Off
odbc
ODBC Support enabled
Active Persistent Links 0
Active Links 0
ODBC library Win32
Directive Local Value Master Value
odbc.allow_persistent On On
odbc.check_persistent On On
odbc.default_db no value no value
odbc.default_pw no value no value
odbc.default_user no value no value
odbc.defaultbinmode return as is return as is
odbc.defaultlrl return up to 4096 bytes return up to 4096 bytes
odbc.max_links Unlimited Unlimited
odbc.max_persistent Unlimited Unlimited
pcre
PCRE (Perl Compatible Regular Expressions) Support enabled
PCRE Library Version 4.5 01-December-2003
session
Session Support enabled
Registered save handlers files user sqlite
Registered serializer handlers php php_binary wddx
Directive Local Value Master Value
session.auto_start Off Off
session.bug_compat_42 Off Off
session.bug_compat_warn On On
session.cache_expire 180 180
session.cache_limiter nocache nocache
session.cookie_domain no value no value
session.cookie_lifetime 0 0
session.cookie_path / /
session.cookie_secure Off Off
session.entropy_file no value no value
session.entropy_length 0 0
session.gc_divisor 1000 1000
session.gc_maxlifetime 1440 1440
session.gc_probability 1 1
session.hash_bits_per_character 5 5
session.hash_function 0 0
session.name PHPSESSID PHPSESSID
session.referer_check no value no value
session.save_handler files files
session.save_path c:\php\sessiondata c:\php\sessiondata
session.serialize_handler php php
session.use_cookies On On
session.use_only_cookies Off Off
session.use_trans_sid 0 0
SimpleXML
Simplexml support enabled
Revision $Revision: 1.139.2.3 $
Schema support enabled
SPL
SPL support enabled
Interfaces RecursiveIterator, SeekableIterator
Classes ArrayObject, ArrayIterator, CachingIterator,
CachingRecursiveIterator, DirectoryIterator, FilterIterator,
LimitIterator, ParentIterator, RecursiveDirectoryIterator,
RecursiveIteratorIterator, SimpleXMLIterator
SQLite
SQLite support enabled
PECL Module version 2.0-dev $Id: sqlite.c,v 1.146.2.2 2004/08/02
22:43:42 iliaa Exp $
SQLite Library 2.8.14
SQLite Encoding iso8859
Directive Local Value Master Value
sqlite.assoc_case 0 0
standard
Regex Library Bundled library enabled
Dynamic Library Support enabled
Internal Sendmail Support for Windows enabled
Directive Local Value Master Value
assert.active 1 1
assert.bail 0 0
assert.callback no value no value
assert.quiet_eval 0 0
assert.warning 1 1
auto_detect_line_endings 0 0
date.default_latitude 31.7667 31.7667
date.default_longitude 35.2333 35.2333
date.sunrise_zenith 90.83 90.83
date.sunset_zenith 90.83 90.83
default_socket_timeout 60 60
safe_mode_allowed_env_vars PHP_ PHP_
safe_mode_protected_env_vars LD_LIBRARY_PATH LD_LIBRARY_PATH
url_rewriter.tags a=href,area=href,frame=src,input=src,form=fakeentry
a=href,area=href,frame=src,input=src,form=fakeentry
user_agent no value no value
tokenizer
Tokenizer Support enabled
wddx
WDDX Support enabled
WDDX Session Serializer enabled
xml
XML Support active
XML Namespace Support active
libxml2 Version 2.6.11
zlib
ZLib Support enabled
Compiled Version 1.1.4
Linked Version 1.1.4
Directive Local Value Master Value
zlib.output_compression Off Off
zlib.output_compression_level -1 -1
zlib.output_handler no value no value
Additional Modules
Module Name
Environment
Variable Value
ALLUSERSPROFILE C:\Documents and Settings\All Users
CLASSPATH "C:\Program Files\Java\j2re1.4.2_03\lib\ext\QTJava.zip"
CommonProgramFiles C:\Program Files\Common Files
COMPUTERNAME IBM99L9V8F
ComSpec C:\WINDOWS\system32\cmd.exe
FP_NO_HOST_CHECK NO
NUMBER_OF_PROCESSORS 1
OS Windows_NT
Path
C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\PHP;"C:\Program
Files\Symantec\Norton Ghost 2003\"
PATHEXT .COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH
PROCESSOR_ARCHITECTURE x86
PROCESSOR_IDENTIFIER x86 Family 6 Model 11 Stepping 1, GenuineIntel
PROCESSOR_LEVEL 6
PROCESSOR_REVISION 0b01
ProgramFiles C:\Program Files
QTJAVA "C:\Program Files\Java\j2re1.4.2_03\lib\ext\QTJava.zip"
SystemDrive C:
SystemRoot C:\WINDOWS
TEMP C:\WINDOWS\TEMP
TMP C:\WINDOWS\TEMP
USERPROFILE C:\Documents and Settings\LocalService
windir C:\WINDOWS
PHP Variables
Variable Value
_REQUEST["PHPSESSID"] s4pqtqvsrv49fv0ih7h8790g60
_COOKIE["PHPSESSID"] s4pqtqvsrv49fv0ih7h8790g60
_SERVER["ALL_HTTP"] HTTP_ACCEPT:image/gif, image/x-xbitmap, image/jpeg,
image/pjpeg, application/x-shockwave-flash, application/vnd.ms-excel,
application/vnd.ms-powerpoint, application/msword, */*
HTTP_ACCEPT_LANGUAGE:zh-tw,zh-hk;q=0.7,zh;q=0.3
HTTP_CONNECTION:Keep-Alive HTTP_HOST:localhost
HTTP_USER_AGENT:Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1;
(R1 1.5); .NET CLR 1.1.4322)
HTTP_COOKIE:PHPSESSID=s4pqtqvsrv49fv0ih7h8790g60
HTTP_ACCEPT_ENCODING:gzip, deflate
_SERVER["HTTPS"] off
_SERVER["SCRIPT_NAME"] /al/phpinfo4debug.php
_SERVER["HTTP_COOKIE"] PHPSESSID=s4pqtqvsrv49fv0ih7h8790g60
_SERVER["AUTH_PASSWORD"] no value
_SERVER["AUTH_TYPE"] no value
_SERVER["AUTH_USER"] no value
_SERVER["CONTENT_LENGTH"] 0
_SERVER["CONTENT_TYPE"] no value
_SERVER["PATH_TRANSLATED"] c:\inetpub\wwwroot
_SERVER["QUERY_STRING"] no value
_SERVER["REMOTE_ADDR"] 127.0.0.1
_SERVER["REMOTE_HOST"] 127.0.0.1
_SERVER["REMOTE_USER"] no value
_SERVER["REQUEST_METHOD"] GET
_SERVER["SERVER_NAME"] localhost
_SERVER["SERVER_PORT"] 80
_SERVER["SERVER_PROTOCOL"] HTTP/1.1
_SERVER["SERVER_SOFTWARE"] Microsoft-IIS/5.1
_SERVER["APPL_MD_PATH"] /LM/W3SVC/1/ROOT
_SERVER["APPL_PHYSICAL_PATH"] c:\inetpub\wwwroot\
_SERVER["INSTANCE_ID"] 1
_SERVER["INSTANCE_META_PATH"] /LM/W3SVC/1
_SERVER["LOGON_USER"] no value
_SERVER["REQUEST_URI"] /al/phpinfo4debug.php
_SERVER["URL"] /al/phpinfo4debug.php
_SERVER["SCRIPT_FILENAME"] c:\inetpub\wwwroot\al\phpinfo4debug.php
_SERVER["ORIG_PATH_INFO"] /al/phpinfo4debug.php
_SERVER["PATH_INFO"] no value
_SERVER["ORIG_PATH_TRANSLATED"] c:\inetpub\wwwroot\al\phpinfo4debug.php
_SERVER["DOCUMENT_ROOT"] c:\inetpub\wwwroot
_SERVER["PHP_SELF"] /al/phpinfo4debug.php
_SERVER["HTTP_ACCEPT"] image/gif, image/x-xbitmap, image/jpeg,
image/pjpeg, application/x-shockwave-flash, application/vnd.ms-excel,
application/vnd.ms-powerpoint, application/msword, */*
_SERVER["HTTP_ACCEPT_LANGUAGE"] zh-tw,zh-hk;q=0.7,zh;q=0.3
_SERVER["HTTP_CONNECTION"] Keep-Alive
_SERVER["HTTP_HOST"] localhost
_SERVER["HTTP_USER_AGENT"] Mozilla/4.0 (compatible; MSIE 6.0; Windows
NT 5.1; SV1; (R1 1.5); .NET CLR 1.1.4322)
_SERVER["HTTP_ACCEPT_ENCODING"] gzip, deflate
_ENV["ALLUSERSPROFILE"] C:\Documents and Settings\All Users
_ENV["CLASSPATH"] "C:\Program
Files\Java\j2re1.4.2_03\lib\ext\QTJava.zip"
_ENV["CommonProgramFiles"] C:\Program Files\Common Files
_ENV["COMPUTERNAME"] IBM99L9V8F
_ENV["ComSpec"] C:\WINDOWS\system32\cmd.exe
_ENV["FP_NO_HOST_CHECK"] NO
_ENV["NUMBER_OF_PROCESSORS"] 1
_ENV["OS"] Windows_NT
_ENV["Path"]
C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\PHP;"C:\Program
Files\Symantec\Norton Ghost 2003\"
_ENV["PATHEXT"] .COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH
_ENV["PROCESSOR_ARCHITECTURE"] x86
_ENV["PROCESSOR_IDENTIFIER"] x86 Family 6 Model 11 Stepping 1,
GenuineIntel
_ENV["PROCESSOR_LEVEL"] 6
_ENV["PROCESSOR_REVISION"] 0b01
_ENV["ProgramFiles"] C:\Program Files
_ENV["QTJAVA"] "C:\Program Files\Java\j2re1.4.2_03\lib\ext\QTJava.zip"
_ENV["SystemDrive"] C:
_ENV["SystemRoot"] C:\WINDOWS
_ENV["TEMP"] C:\WINDOWS\TEMP
_ENV["TMP"] C:\WINDOWS\TEMP
_ENV["USERPROFILE"] C:\Documents and Settings\LocalService
_ENV["windir"] C:\WINDOWS
------------------------------------------------------------------------
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/30195
--
Edit this bug report at http://bugs.php.net/?id=30195&edit=1