[請益] Windows 讀取含有繁簡中及日文檔名

作者: ids93216 (如果)   2015-12-06 21:04:13
大家好
小弟最近想做一個個人用的網路硬碟
目前伺服器環境是 Windows Server 2012 繁中 + nginx
想用 PHP 去讀 D:\ 裡面的檔案列表
遇到繁體中文 iconv big5 to UTF-8 沒問題
但是日文及簡體中文卻怎麼也讀不出來
不知道有沒有辦法解決呢?
謝謝
作者: threeus (侍衛)   2015-12-07 21:05:00
owncloud, map network drive
作者: rockmanalpha (KIN)   2015-12-07 21:14:00
印象中PHP5.X對Windows Unicode的支援很不足PHP6應該就沒這個問題 如果要以PHP5.X來達成可能需要用C語言寫一個程式 再用PHP調用來實現
作者: ids93216 (如果)   2015-12-08 06:56:00
目前是使用PHP7,不知道這問題有沒有改善或解決方法呢
作者: rockmanalpha (KIN)   2015-12-08 14:04:00
php7應該沒這問題? 可以貼相關幾句程式上來看看嗎?
作者: yongb (火系見習魔法師 )   2015-12-08 15:07:00
PHP7 跟5.6會差很多嗎?
作者: y2468101216 (芸)   2015-12-08 17:14:00
首先PHP沒有6,7跟5.6有一定的差距但沒有差到要整個打掉重練
作者: rockmanalpha (KIN)   2015-12-08 17:58:00
抱歉 不知道PHP6已經擱置了 當我第二段沒說我查了一下當初預想PHP6是要解決Unicode的問題結果花了很多時間最substr($path, 0, -1)後還擱置 所以7好像也沒有解決的樣子 有一個叫php-wfio的php extension好像就是來解決Windows環境下PHP處理含有Unicode檔名的問題但他是以PHP5.X為基礎開發 不過作者有試著支援PHP7Github上有他對PHP7的修改版的Commit 使用Windows的PHP7.0 RC2測試好像也沒問題 原PO可以去看看可以試著用他的Source 然後把.C換成他修改過後的再用像Visual Studio的工具試著編譯DLL 我看到他有config.w32http://tinyurl.com/3f3zyvu 這邊有把php的source編譯成DLL的教學 其他PHP的套件編譯也是差不多原理可以參考一下不客氣 你也幫忙作者找到未知的BUG 做福廣大PHP使用者 話說作者手腳很快 已經做了fix 等下個Release吧另外看來PHP7的版本也不遠了
作者: see7di (see7di)   2015-12-18 23:02:00
你看一下mb_相關的函數吧,很簡單的小問題

Links booklink

Contact Us: admin [ a t ] ucptt.com