我們有不同的 Magento 安裝(網上商店),允許將映像自由添加到產品中。將圖像新增至產品時,檔案會以特定方式命名,有時會包含特殊字元(例如德語元音變音)。
在一種情況下,我目前正在研究檔案名稱是用 latin1 編碼的。我可以透過對ls
文件執行操作,然後透過vim
.使用fileencoding=latin1
,變音符號可以正確顯示。
tar
現在,這些 Magento 安裝由、7zip
和ccrypt
(按該順序)支援。在 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