当通过Samba在文件名中提供包含特殊字符(例如“()):”的文件时,名称将转换为无法识别的格式。例如,一个文件
my_file:_(important).txt显示为
M43J1E~0.TXT有什么方法可以避免这种行为(很明显,不需要重命名文件)?我假设字符编码不是罪魁祸首,因为几个UTF-8字符似乎工作正常。
发布于 2014-12-08 17:13:43
我在OS和Windows上使用共享文件夹.有些文件也有同样的问题,因为它们分为以下几类:它们使用文件名中的字符,而Windows不支持这些字符。
请参阅:http://support.microsoft.com/kb/177506
它列出了Windows在文件或目录中不支持的字符。我猜,Samba在列出文件和目录时使用相同的字符列表。
A filename cannot contain any of the following characters:
\ / : * ? " < > |再往下一点,他们写道:
对于命名文件、文件夹或快捷键有效的字符包括字母( At )和数字(0-9)的任何组合,加上下列特殊字符:^重音回旋(插入)和‘Apostrophe (单引号)@At标志{ Bracket } 托架开口右括号关闭,逗号$美元符号=等号!感叹号- Hyphen #数字符号(插入开始)结束百分比。周期+加号~倾斜下划线
但就我个人而言,我把不允许的字符列表作为向这里的一些客户介绍情况的参考;)
发布于 2010-03-20 23:05:56
Windows不允许Unix允许的文件名中的某些字符。Samba“破坏”文件名,使其符合Windows限制。您可以检查文件/etc/smb.conf或/etc/samba/smb.conf,以查看哪些设置已经到位。若要显示这些设置和默认值,请使用以下命令:
testparm -vs | less把它缩小一点:
testparm -vs|grep "case\|mangl"有关详细信息,请参阅此页。另外,在此页中看到大约一半的信息(与前面的链接相同)。
发布于 2014-06-04 12:12:17
从samba文档中可以使用以下内容:
dos charset = ISO8859-1
unix charset = ISO8859-1
display charset = ISO8859-1https://serverfault.com/questions/124611
复制相似问题