最近一客戶 WordPress 企業主題網站搬家時,遇到一個問題,使用的是美國 cpanel 主機空間,他的 WordPress 裡所有的圖片都是中文件名。
用通常的 WordPress 轉移方式把檔案和資料庫備份,再到新空間匯入之後,發現中文件名的圖片都是無法顯示的。

經過幾番嘗試發現:
必須是在原 cpanel 裡壓縮成.tar 格式,然後上傳到新主機裡解壓,中文就可以儲存下來,而解壓成.zip 是不行的。

分析原因可能是 tar 和 zip 的壓縮和解壓的方式不同,導致他們對檔名編碼的處理方式不一樣。

總之,.tar 格式的壓縮方式才可以完全保留正確的中文編碼,而.zip 會導致亂碼。當然最好不要用中文名稱和大寫字母去命名檔案,在 linux 主機中是區別大小寫和中文會顯示亂碼。