php读取中文目录乱码
读取文件夹的时候,中文目录出现乱码了我都php文件都是utf-8的,在windows中文系统下面
在网上查了好长时间都没有解决
代码如下,各位帮忙看看吧,谢谢了
[code] [color=#800080]$dir[/color] = [color=#008080]iconv[/color]("UTF-8","gb2312",[color=#800080]$dir[/color]);
[color=#800080]$dirs[/color] = [color=#008080]opendir[/color]([color=#800080]$dir[/color]);
[color=#0000FF]while[/color]([color=#800080]$loopfile[/color] = [color=#008080]readdir[/color]([color=#800080]$dirs[/color]))
{
[color=#0000FF]if[/color]([color=#0000FF]true[/color] == [color=#008080]is_dir[/color]([color=#800080]$dir[/color].[color=#800080]$loopfile[/color]) ){
[color=#008080]printf[/color](" Dir:%s<br>",[color=#800080]$loopfile[/color]);
}[color=#0000FF]else[/color]{
[color=#008080]printf[/color](" File:%s<br>",[color=#800080]$loopfile[/color]);
}
}[color=#008000]//[/color][color=#008000]end while[/color][/code]
[[i] 本帖最后由 asmdaydream 于 2010-9-4 10:51 编辑 [/i]]
$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
多尝试下,甚至可以把文件本身的编码也修改!
我的测试过你这个代码,就是什么编码转换也没加,显示中文正常! 本来是没有这句的,后来查了很多资料才找到这句,
这句加上也没有影响什么,设置里面的编码我都换过好几种了,
找不到完美解决的办法[em09]
怪事了,我的只是在目录里建立一个记事本,然后随便输入几句打开的命令,就OK了.什么编码也没有设置,中文显示正常!
我的代码如下:
echo "文件:<br>";
$ha=opendir('e:/wdfmdb');
while ($file=readdir($ha))
{
if ($file != "." && $file != "..") {
$arr[]=$file;//附加到数组里
}
}
closedir($ha);
print_r("<pre>");
print_r($arr);
print_r("</pre>");
你用这个代码试试! 试过了,中文也是乱码
[23] => Wopti
[24] => wow
[25] => www
[26] => [05-12-15]��������
[27] => �߲����˹��߰�
[28] => ����
[29] => �漣Ӣ�����ܼ���
[30] => �����ܼ�
[31] => ������������
估计和我系统有什么的有关吧[em08] 编码问题.
可以用 iconv 解决.
建议, 永远不用要中文来做文件名. 那只会是悲剧的开始.没有终点的悲剧.
iconv也没能解决[em09],只能换成gb2312的编码,或到linux下面去utf-8,郁闷啊~~~~~~
又不是外国人,怎么能做到一个电脑上全是英文的东西
页:
[1]