解壓縮到 Windows 共用時,檔案名稱編碼會透過 tar 切換為 UTF-8

解壓縮到 Windows 共用時,檔案名稱編碼會透過 tar 切換為 UTF-8

我們有不同的 Magento 安裝(網上商店),允許將映像自由添加到產品中。將圖像新增至產品時,檔案會以特定方式命名,有時會包含特殊字元(例如德語元音變音)。

在一種情況下,我目前正在研究檔案名稱是用 latin1 編碼的。我可以透過對ls文件執行操作,然後透過vim.使用fileencoding=latin1,變音符號可以正確顯示。

tar現在,這些 Magento 安裝由、7zipccrypt(按該順序)支援。在 Linux 上解壓縮這些檔案會得到相同編碼的相同檔案名稱。

我們現在在 Windows 系統上有一個共享,我們希望將未壓縮的 Magento 安裝放在上面。然而,在解壓縮時,會彈出許多與元音變音檔名有關的錯誤訊息:

tar: var/magento_webs/customer/media/import/images/12063-sportsto\337d\344mpfer-hinten.jpg: Kann open nicht ausführen: Datei oder Verzeichnis nicht gefunden
tar: var/magento_webs/customer/media/import/images/15240-kunststoffkotfl\374gel-detail-vorne.jpg: Kann open nicht ausführen: Datei oder Verzeichnis nicht gefunden
tar: var/magento_webs/customer/media/import/images/14300-fl\374gel.jpg: Kann open nicht ausführen: Datei oder Verzeichnis nicht gefunden
tar: var/magento_webs/customer/media/import/images/15240-41kotfl\374gel-kunststoff-vorne.jpg: Kann open nicht ausführen: Datei oder Verzeichnis nicht gefunden
tar: var/magento_webs/customer/media/import/images/citr\366n.jpg: Kann open nicht ausführen: Datei oder Verzeichnis nicht gefunden
tar: var/magento_webs/customer/media/import/images/2cv6-ma\337e-1.jpg: Kann open nicht ausführen: Datei oder Verzeichnis nicht gefunden
tar: var/magento_webs/customer/media/import/images/2cv6-ma\337e.jpg: Kann open nicht ausführen: Datei oder Verzeichnis nicht gefunden
tar: var/magento_webs/customer/media/import/images/11076-vorschalld\344mpfer.jpg: Kann open nicht ausführen: Datei oder Verzeichnis nicht gefunden

(大致翻譯為Cannot execute open: File or directory not found

現在,查看檔案名稱 tar 列表,我可以看到 tar 似乎嘗試創建 UTF-8 編碼的檔案名稱(\337 看起來就是這樣)。但是,掛載點已透過(來自etc/fstab)提供:

//192.168.0.111/share   /mnt/share      cifs    username=myusername,noperm,sec=ntlm,codepage=cp850       0       0

我不確定為什麼這些檔案名稱不能以保留變音編碼的方式寫入共用。我是否缺少另一個選項(代碼頁是否是錯誤的選項)?

編輯1:我可以透過 SSH 進入 linux 盒子,將Remote character set連接設為ISO8859-15,更改為共享目錄並touch使用變音符號來重新建立類似的檔案:

touch: kann â\244â nicht berÃŒhren: Datei oder Verzeichnis nicht gefunden

(無法觸碰X:未找到檔案或目錄)

編輯2:第一次嘗試解決方案

我已新增iocharset=utf8至安裝選項,重新安裝共用,但相同的檔案遇到了完全相同的問題。奇怪的是,使用mount(通常列印安裝點已安裝的所有選項)不會列印選項iocharset(既不列印utf8也不列印cp850設定)。

答案1

在過去的某個時間(我相信在版本 2.0 左右),mount.cifs 丟失了“codepage=”選項並將所有內容放在“iocharset=”選項中。

你應該沒問題

//host/share /mnt/share cifs username=blah,noperm,sec=ntlm,iocharset=utf8 0 0

相關內容