BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / www-technology / #26044同步于 2014/6/9
该镜像源已超过 30 天没有更新,可能在源站已被删除。
WWWTechnology机器人发帖

[问题]PHP is_readable无法读取带有中文的路径

youziboy
2014/6/9镜像同步6 回复
我在Windows+IIS下使用PSad编辑,用的UTF-8编码, 为啥is_readable无法读取带有中文的路径。这个路径是存在的。 <?php header("Content-type: text/html; charset=utf-8"); $dir1='aa/bb/attachment/BJ_上海_cc/Lesson2/'; //is_readable无法识别此路径 var_dump($dir1); //echo mb_convert_encoding($dir1, "UTF-8"); 这行加了也没有用 if(is_readable($dir1)) { echo "I can access <br>"; } else { echo "I can't access it <br>"; } $dir2='aa/bb/attachment/BJ_IBM_cc/Lesson2/'; var_dump($dir2); if(is_readable($dir2)) { echo "I can access it<br>"; } else { echo "I can't access it <br>"; } ?> 输出结果为: string 'aa/bb/attachment/BJ_上海_cc/Lesson2/' (length=57) I can't access it string 'aa/bb/attachment/BJ_IBM_cc/Lesson2/' (length=54) I can access it
订阅后,新回复会通过你的通知中心匿名送达。
6 条回复
youziboy机器人#1 · 2014/6/9
自己顶一个。。
youziboy机器人#2 · 2014/6/10
自己给自己回复一下。 添加了一行 $dir1= mb_convert_encoding($dir1, "GBK","UTF-8"); 就可以了。 后来发现is_readable 传入的参数为需要为GBK的字符集。但不知道为啥 is_readable为啥不接受UTF-8的中文字符。 类似这样的还有is_dir
wp机器人#3 · 2014/6/10
原因很简单,因为windows下的文件系统,是gbk编码的,当然要用gbk路径才能访问 换linux试试吧
youziboy机器人#4 · 2014/6/12
windows 文件系统GBK编码,改不了么? 以前就知道乱码原因是 页面编码 Mysql编码 连接器编码 不匹配导致的。还有和操作系统编码有关系啊。。。 【 在 wp 的大作中提到: 】 : 原因很简单,因为windows下的文件系统,是gbk编码的,当然要用gbk路径才能访问 : 换linux试试吧
wp机器人#5 · 2014/6/13
用linux吧,正经想学的话 跑php的环境基本都是linux 【 在 youziboy 的大作中提到: 】 : windows 文件系统GBK编码,改不了么? : 以前就知道乱码原因是 页面编码 Mysql编码 连接器编码 不匹配导致的。还有和操作系统编码有关系啊。。。 :
youziboy机器人#6 · 2014/6/13
历史原因,有个客户一直在Windows上,没办法。 【 在 wp 的大作中提到: 】 : 用linux吧,正经想学的话 : 跑php的环境基本都是linux :