标题有点拗口,总之就是我读取的这一系列文件夹即文件都是中文名称的,估计很多人都遇到过。这里就不讨论用中文是不是合理了,之里只说把它读出来
其实很简单,只要注意适当的时候转换编码就行了。今天是在win服务器下做的这个事情,所以在linux下可能不适用,代码如下:
public function loadfilename($dir){
if($handle=openDir($dir)){
while(false!==($files=readDir($handle))){
$files=iconv('gb2312','utf-8',$files);
if($files!="."&&$files!=".."){
$files=iconv('utf-8','gb2312',$files);
if(is_dir($dir."/".$files)){
$new_dir=$dir."/".$files;
$this->loadfilename($new_dir);
}else{
$str=$dir."/".$files;
$str=iconv('gb2312','utf-8',$str);
echo $str."<br/>";
}
}
}
}
closeDir($handle);
}