utf-8编码php页面调用scandir产生乱码
今天把自己刚开始写的图床管理程序编码改成utf-8形式,本来想向国外标准靠拢的,结果他妈的,改了除了大问题了, 本来我的文件都是ANSI的, 我用记事本一个个换成utf-8,然后再去掉BOM, 也不知道是时候除了问题, 其他地方都还好, 但是有的地方是乱码, 我以为是换编码的时候哪里搞错了,会不会搞的两种编码杂合体, 我弄了半天,甚至连文件都重新建立弄了,日他妈,没屌用, 最后我才锁定scandir这个,就只有这个函数用的地方出现了乱码, 但是我想想还是不对啊, 昨天这个函数扫描中文文件名没事的,今天出轨了?
我重新建立一个文件测试, 显示正确,中文文件名无压力, 这他妈快给我搞疯了, 最后真受不了了, 先听听歌吧, 窒息的感觉, 突然想起来,昨天传中文文件名的文件的时候uploadify也会将文件名保存成乱码, 好吧,我反着来试试,使用iconv相反改变编码,ok,好了, 日,这点问题,搞我这么久,php这是..........
总结: 由于页面编码是utf-8, 而 scandir 返回的文件名应该是GBK的(其实我不知道是不是这样), 这样就出问题了, 你可以将页面编码改成gbk试试, 所以这里用iconv转换下就好了, 哎, 该死的编码,还是秦始皇最可爱