PHP对文件操作有着自己丰富的函数,一个项目我们使用到了文件目录列表,但是中文出现了乱码。翻了一下资料判断大概是服务器linux跟windows文件名目录的处理上。windows一般是使用gb2312类编码,linux使用的是utf-8.这样我们创建的中文目录名称在经常php读取到ie里显示就会出现中文乱码问题.
$dir = iconv(\"UTF-8\",\"gb2312\",$dir); //这句去掉试过没有,或者颠倒过来写 iconv(\"gb2312\",\"UTF-8\",$dir);
$dirs = opendir($dir);
while($loopfile = readdir($dirs))
{
if(true == is_dir($dir.$loopfile) ){
printf(\" Dir:%s<br>\",$loopfile);
}else{
printf(\" File:%s<br>\",$loopfile);
}
}//end while
多尝试下,甚至可以把文件本身的编码也修改!
我的测试过你这个代码,就是什么编码转换也没加,显示中文正常!