PHP中无法读取有特殊字符的文件名,请问怎么办?比如™®©:报错 -问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文

PHP中无法读取有特殊字符的文件名,请问怎么办?比如™®©:报错

kun坤 2020-06-07 22:24:54 135

Windows XP + 简体中文环境

文件名包含特殊字符™、®、©

比如这个文件:Level™_1.2_-494634405.txt

通过dir/scandir/opendir遍历的名称为Level?_1.2_-494634405.txt,那个特殊符号™被处理成了问号(?)

如果以Level?_1.2_-494634405.txt去读取文件,压根读取不到

glob压根遍历不出这个文件

 

请问此问题该如何处理?

这个特殊字符在windows上面应该是属于unicode文件名,可惜php在简体中文windows xp上一律使用gbk来处理目录路径和文件名。

注:谢绝回答--修改文件名称。

PHP Windows
分享到
取消 提交回答
全部回答(1)
  • kun坤
    2020-06-07 22:24:59

    试试编码转换.######我的感觉是你完全是挖坑把自己埋了,干嘛非要在路径中使用特殊字符.
    ######有道理,支持哈哈######

    你先用php打钱印你的目录,看输出是什么形式,

    不要指定文件名,而是通过读取目录,循环输出文件名。

    还有,看通过通配符,看能不能读取。

    ###### 还真没试过######urlencode或者md5
    0 0
开发与运维
使用钉钉扫一扫加入圈子
+ 订阅

集结各类场景实战经验,助你开发运维畅行无忧

推荐文章
相似问题