| 會員 ![]() | 請教如何讓apache server能接受中文名稱檔案的請求?【求助】 如題,請教如何讓apache server能接受中文名稱檔案的請求? 我用PHP寫了個簡單的瀏覽目錄程式,其中每個檔案是以 <a href="http://my IP/<? echo "檔案所在路徑"; ?>">檔名</a> 的方式藉由browser去瀏覽它... 但是,只要碰上檔案名稱有中文字時就無法瀏覽 改成這樣: <a href="http://my IP/<? echo rawurlencode("檔案所在路徑"); ?>">檔名</a> 或是換成: urlencode() 都不行. |
| 回覆 |
| 會員 ![]() | IE 的進階選項中把 永遠將 URL 傳送成 UTF-8 打勾就可以了 這是IE使用上的問題,建議還是用英文檔名避免不必要的問題 |
| 回覆 |
| 會員 ![]() | 引用:
可是你知道嗎...我原來IE的utf-8選項就有勾起來了,更讓我不解的是, 當我將之取消後竟才可以在URL中用中文字元!! 只是我不懂...,微軟對url用utf-8的解釋是:勾選該項可讓使用者交換任何語言字元的URL網際網路位址..... 為何反倒是取消該項後才能使用中文字元的URL呢 ? | |
| 回覆 |
| 會員 ![]() | 我有個想法不知對不對,在我將引許utf-8的URL選項勾起來後,之所以無法瀏覽中文路徑檔案是因網址已引許中文字元了,因而網址列的請求就直接送往Apache,或許是apache無法接受這樣的請求(看不懂所請求的檔案相關路徑). 而取消utf-8 url選項後,瀏覽器會自動在送出請求前先對含有非西歐語系字元的URL進行編碼,因此Apache就沒有看不懂請求的問題,也就能正常瀏覽含中文字元路徑的檔案了. 所以若要享有中文字元URL的功能(也就是啟動IE的UTF-8 url),還得視Apache能不能處理這樣的請求.若如此,那麼apache又該做些什麼設定呢?...否則一切不是白搭. 不知我這樣想對不對啦...希望了解原由的人能不吝指點一下(畢竟已耗了滿長的時間在這件事,沒弄懂實在很可惜)... |
| 回覆 |
| 火星文 DEBUGER | 其實是微軟自作主張.....將XP的 UTF-8 的選項預設變成開啟...... (好像是IE6.0以後的都預設開啟) 導致很多中文路徑出問題...... 以前並沒有這種問題的 這個問題我也解決不掉∼所以我都是用英文目錄ㄉ路徑 |
| 回覆 |
| 會員 ![]() | 把 utf-8 傳送中文url關掉吧。 那種東西,連微軟自己出的 IIS 支援度都有問題了,更何況是 Apache。 |
| 回覆 |
| 會員 ![]() | 其實如果您用的是一般使用的話並不需要特別將中文檔名使用 PHP 解碼函式去做, 只是多增加一次解碼成亂碼罷了 您找的方向可能有錯誤, 如果您要使用跨語系使用的話, 建議您用程式去判斷使用者的瀏覽器再決定 是否編解碼這樣就不會有使用上的問題 |
| 回覆 |
| 會員 ![]() | 引用:
您的意思是當利用url傳送有中文字元之資料時不需要使用urlencode()是嗎? | |
| 回覆 |
| 會員 ![]() | 如果是win下架apache不要用2.0以上的..改用1.多版的 linux下就沒有關係了..! |
| 回覆 |
| XML | RSS 2.0 | RSS |
本論壇所有文章僅代表留言者個人意見,並不代表本站之立場,討論區以「即時留言」方式運作,故無法完全監察所有即時留言,若您發現文章可能有異議,請 email :[email protected] 處理。