5
使用rsync或afpd将UTF-8 NFD文件名转换为UTF-8 NFC
我有一台运行FreeNAS 8的家庭文件服务器。几天前,我使用rsync从Mac上传了整个iTunes库,以便可以通过网络加载我的库,而不必使用慢速的USB驱动器。这通常可以正常工作,并且iTunes现在运行得更好,但是访问任何包含非ASCII字符的歌曲时遇到了问题(我在加载Queensrÿche曲目时首先注意到了这个问题)。这些文件将显示在Finder中,但是任何尝试访问它们的操作都会使它们消失,直到我重新连接到服务器为止。 经过研究后,我发现这是因为OSX使用与Linux不同的UTF字符顺序。OSX文件系统使用Unicode规范化形式D(NFD),而linux使用形式C(NFC)。当Rsync执行从我的mac到服务器的复制时,Rsync不会转换这些形式。现在,当iTunes尝试通过网络访问带有特殊字符的文件时,服务器上的文件编码错误,并且afpd报告不正确。不存在。 解决此问题的最佳方法是什么?在将基本库上传到服务器时,可以使rsync执行unicode转换吗?我可以配置afpd以NFD格式发送/接收文件名吗?有没有简单的解决方案来更改服务器上的文件名?我发现了有关名为convmv的程序的一些信息,但我不知道是否可以在FreeNAS上运行它。