作者ids93216 (如果)
看板PHP
标题[请益] Windows 读取含有繁简中及日文档名
时间Sun Dec 6 21:04:13 2015
大家好
小弟最近想做一个个人用的网路硬碟
目前伺服器环境是 Windows Server 2012 繁中 + nginx
想用 PHP 去读 D:\ 里面的档案列表
遇到繁体中文 iconv big5 to UTF-8 没问题
但是日文及简体中文却怎麽也读不出来
不知道有没有办法解决呢?
谢谢
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 36.233.94.97
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/PHP/M.1449407058.A.548.html
1F:→ threeus: owncloud, map network drive 12/07 21:05
2F:推 rockmanalpha: 印象中PHP5.X对Windows Unicode的支援很不足 12/07 21:14
3F:→ rockmanalpha: PHP6应该就没这个问题 如果要以PHP5.X来达成 12/07 21:16
4F:→ rockmanalpha: 可能需要用C语言写一个程式 再用PHP调用来实现 12/07 21:17
5F:→ ids93216: 目前是使用PHP7,不知道这问题有没有改善或解决方法呢 12/08 06:56
6F:推 rockmanalpha: php7应该没这问题? 可以贴相关几句程式上来看看吗? 12/08 14:04
7F:推 yongb: PHP7 跟5.6会差很多吗? 12/08 15:07
8F:推 y2468101216: 首先PHP没有6,7跟5.6有一定的差距 12/08 17:14
9F:→ y2468101216: 但没有差到要整个打掉重练 12/08 17:15
10F:推 rockmanalpha: 抱歉 不知道PHP6已经搁置了 当我第二段没说 12/08 17:58
验明正身,PHP7
http://i.imgur.com/13Lb7d6.png
scandir()
档案及浏览器编码都是 UTF-8
http://i.imgur.com/mbwPqgQ.png
opendir()
一样都是 UTF-8
http://i.imgur.com/5P56rNr.png
若浏览器设定为 big5
http://i.imgur.com/FFIHKJy.png
这样
※ 编辑: ids93216 (36.233.47.16), 12/08/2015 21:19:27
11F:推 rockmanalpha: 我查了一下当初预想PHP6是要解决Unicode的问题 12/08 22:09
12F:→ rockmanalpha: 结果花了很多时间最substr($path, 0, -1)後还搁置 所以7好像也没有解决的 12/08 22:10
13F:→ rockmanalpha: 样子 有一个叫php-wfio的php extension好像就是来 12/08 22:10
14F:→ rockmanalpha: 解决Windows环境下PHP处理含有Unicode档名的问题 12/08 22:11
15F:→ rockmanalpha: 但他是以PHP5.X为基础开发 不过作者有试着支援PHP7 12/08 22:12
16F:→ rockmanalpha: Github上有他对PHP7的修改版的Commit 使用Windows的 12/08 22:14
17F:→ rockmanalpha: PHP7.0 RC2测试好像也没问题 原PO可以去看看 12/08 22:15
不过他的 PHP7 版似乎只有源码没有 release
不知道什麽时候才会正式放出
※ 编辑: ids93216 (125.227.215.234), 12/09/2015 09:02:30
18F:→ rockmanalpha: 可以试着用他的Source 然後把.C换成他修改过後的 12/09 10:44
19F:→ rockmanalpha: 再用像Visual Studio的工具试着编译DLL 我看到他有 12/09 10:45
20F:→ rockmanalpha: config.w32 12/09 10:45
22F:→ rockmanalpha: 编译成DLL的教学 其他PHP的套件编译也是差不多原理 12/09 16:48
23F:→ rockmanalpha: 可以参考一下 12/09 16:48
感谢关键字,今天弄了个 PHP5.6 的环境出来,目前看起来正常
不过倒是发现了几个 bug 就是了 XD
https://github.com/kenjiuno/php-wfio/issues/8
看来这应该是目前最佳解了,感谢!!
※ 编辑: ids93216 (36.233.47.16), 12/09/2015 20:51:29
24F:推 rockmanalpha: 不客气 你也帮忙作者找到未知的BUG 做福广大PHP使用 12/09 23:12
25F:→ rockmanalpha: 者 话说作者手脚很快 已经做了fix 等下个Release吧 12/09 23:14
26F:→ rockmanalpha: 另外看来PHP7的版本也不远了 12/09 23:14
这作者动作真的好快...
昨天刚 report 完就马上修正完推出了...
※ 编辑: ids93216 (36.233.47.16), 12/10/2015 20:50:05
27F:推 see7di: 你看一下mb_相关的函数吧,很简单的小问题 12/18 23:02
28F:推 megabio: 推这篇,可以帮很多人解决问题,应该m起来 08/09 23:22
29F:推 hugh4132000: 一定要推一下 05/20 20:49