[請益] 關於解壓縮後檔名的亂碼問題
請教各位先進
小弟最近寫了一支讓使用者上傳檔案的程式(若為zip檔則自動解壓縮)
(解壓縮的路徑跟上傳非.zip檔案的目錄皆為./upload/)
假設目錄結構如下 |- list.php
|- do-upload.php
|- upload/
可是windows壓縮的檔名編碼都是big5,
導致在檔案清單(list.php)中,沒辦法同時顯示utf-8跟big-5編碼的檔案名稱
目前想了一些辦法,不過好像都不可行
1. 上傳非.zip檔時將檔名轉成big5->
目前已經有很多已存的utf-8檔案,且日後output時都要iconv
2. 上傳zip檔時將檔名轉成utf-8-> 無法得知使用者是不是在windows下壓縮的檔案
3. 輸出時轉換-> 小弟不知道有沒有辦法判斷哪個檔名是哪個編碼的辦法...orz
請問有沒有人能提供比較一般化或一勞永逸的做法呢?
謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.33.215.86
→
01/18 22:35, , 1F
01/18 22:35, 1F
→
01/18 22:36, , 2F
01/18 22:36, 2F
→
01/18 22:38, , 3F
01/18 22:38, 3F
原因有幾點:
1. php的ZipArchive class跟pclzip似乎都沒辦法在extract的同時轉成utf-8
2. 無法判斷使用者上傳的壓縮檔是不是windows壓出來的
p.s 我是要在server端解壓縮
※ 編輯: tper8042 來自: 114.33.215.86 (01/18 23:13)
→
01/19 01:27, , 4F
01/19 01:27, 4F
PHP 近期熱門文章
PTT數位生活區 即時熱門文章