当解压到Windows共享时,文件名编码通过tar切换到UTF-8

我们有不同的Magento安装(网上商店),允许图像自由添加到产品。 当图像被添加到产品时,文件以特定的方式命名,有时包含特殊字符(例如德语变音符号)。

在目前我正在寻找的文件名是在拉丁文1编码。 我可以看到,通过做ls到一个文件,然后通过vim读取文件。 使用fileencoding=latin1 ,元音变音器显示正确。

现在,这些Magento安装由tar7zipccryptccrypt顺序)进行备份。 在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似乎试图创buildUTF-8编码的文件名(\ 337看起来这样)。 但是,挂载点已经通过(从etc/fstab )可用:

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

我不知道为什么这些文件名不能以保留变音编码的方式写入共享。 我错过了另一个选项(代码页是这个错误的select)?

编辑1:我可以重新创build一个类似的东西,通过SSH进入linux系统,设置连接的Remote character setISO8859-15 ,更改为共享目录,并用变音符号touch文件:

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

(无法触摸X:找不到文件或目录)

编辑2:首先尝试解决scheme

我添加了iocharset=utf8到挂载选项,重新安装了共享,但是得到了与同样的文件完全相同的问题。 奇怪的是,使用mount (通常打印所有选项安装点已被挂载)不打印iocharset选项(既没有utf8也没有与cp850作为设置)。

在过去的一段时间(我相信在2.0版本之间),mount.cifs丢失了“codepage =”选项,并把所有内容放在“iocharset =”选项中。

你应该没事的

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