最近被Mail的編碼問題搞得很不爽,同樣的程式碼有些人收信正常,有些人就會亂碼。
雖然猜測可以更改收信軟體的設定來改善,但是你總不能要求User一個個的更改設定。
這就算了,此先按下不表。
目前有遇到一個問題就是:
User收到了一個Mail附件為zip壓縮檔,直擊兩點直接開啟時,卻只發現一個空資料夾,沒有任何檔案。
但是另存新檔使用7zip 或 Winrar 又可以正常開啟。
這個問題困擾頗久,最後終於在引入Library的Q&A裡找到答案。
照文件來看,Windows Explorer似乎是不支援UTF-8的,這實在讓人有點震驚。
實際測試過以下條件會造成看不見壓縮檔裡的文件
(使用Library Dotnetzip產制壓縮檔)
- 作業系統在Windows7以下(包含Win7) 此為推測,實際測試過Win8 & Win7,Win8是可以正常開啟的。
- 壓縮檔編碼為UTF-8
- 開啟軟體為Windows Explorer
特別解釋第二點
目前一共實驗兩種寫法(VB.NET):
結果如下:
上方為採用Big5寫法
下方為採用UTF-8寫法
結論:
各位大德一定要小心編碼問題啊~
額外參考資料:
If someone blathers on about how Windows supports Unicode....
Stackoverflow - How to recursively zip utf-8 files and folders from a batch file?
0 comments:
張貼留言