php读取中文目录乱码的解决办法

PHP 投稿 8900 0 评论

php读取中文目录乱码的解决办法

前不久有个项目涉及到使用 php 读取文件目录,读取文件目录这个本身没什么问题,但读取的时候遇到中文目录竟然发生乱码了,一时不知道怎么办了,很久没有碰到这种问题了,研究了一番,得出几种解决办法,现列举一下(将使用 php 读取文件目录的方法也一并附上):


<?php
//要读取的目录
$folder="D:/www";
//打开目录
$fp=opendir($folder);
//阅读目录
while(false!=$file=readdir($fp)){
	//列出所有文件并去掉'.'和'..'
	if($file!='.' &&$file!='..'){
	//$file="$folder/$file";
		$file="$file";
		//赋值给数组
		$arr_file[]=$file;
	}
}
//输出结果
if(is_array($arr_file)){
	while(list($key,$value)=each($arr_file)){
		echo "$key=>$value<br>";
	}
}
//关闭目录
closedir($fp);
?>

(1)在输出前做一个转换,加上如下代码:


$value = iconv("UTF-8","gb2312",$value);  //或者 iconv("gb2312","UTF-8",$value);

(2)所有文件编码都统一为 UTF-8 或者 gb2312

编程笔记 » php读取中文目录乱码的解决办法

赞同 (47) or 分享 (0)
游客 发表我的评论   换个身份
取消评论

表情
(0)个小伙伴在吐槽