问题现象:试图通过TrueNAS与OneDrive同步文件的时候遇到问题,会发现在网页版OneDrive中看到文件与本地中的文件明明就是同一份文件,但是还是认为不一样,导致产生同步问题,而且同步下来之后会导致乱码,如下
导致的原因:
- 字符编码差异
- 本地系统与OneDrive都使用了使用 中文冒号(:)(Unicode
FF1A
) - TrueNAS(基于 FreeBSD/Linux)将OneDrive文件名中 **中文冒号(:)**的自动转成 英文冒号(:)(ASCII
3A
) - 而且同步下来之后TrueNas尝试将文件名改为英文冒号(:),但**英文冒号(:)**无法在文件名中被Windows接受,就会导致乱码
- 本地系统与OneDrive都使用了使用 中文冒号(:)(Unicode
- 文件系统限制
- 某些文件系统(如 FAT/exFAT)不支持中文标点符号,强制转换字符。
解决方案
Windows 不允许文件名包含字符:\ / : * ? " < > |
,所以需要将文件名中的中文冒号(:)改为英文的( - ),之后就完美解决了,所以标点符号,最好还是不要用中文的
转载请注明来源