我有一个从 Windows 复制的简体中文字符编码的磁盘。
现在我安装的是centos7,使用的是繁体中文字符编码。
1 如何挂载该磁盘?
我使用命令 ntfs-3g /dev/sdb /mnt/windows -o locale=zh_CN.GBK 但我仍然得到混乱的文件名。
2 如何复制这些文件?
我使用命令 cp -r ,然后它打印
cp -r /mnt/7 /home/jl/文件/7 cp: 无法访问 '/mnt/7/20140206/\275̰\270/\261\270\277\316': 不适用或不完整的多位元组字元或宽字元 cp: 无法访问 '/mnt/7/20140206/\275̰\270/֪ʶ\265\343': 不适用或不完整的多位元组字元或宽字元cp: 无法访问 '/mnt/7/20140206/\277Ƽ\274\273': 不适用或不完整的多位元组字元或宽字元
你可能没有读过这篇文章,这意味着 cp 由于字符不合适而无法执行(?)
这个问题显然是由操作系统中不同的路径分隔符引起的。
我尝试了 convmv -f gbk -t big5 -r --notest /home/jl/文件/7 但也失败了。
我应该使用 scp 复制这个目录吗?
答案1
首先,您正在处理不同的编码协议:Windows 编码UTF-16,而 Linux 和 OSX 的默认值是UTF-8。
因此,尽管您已将编码设置为UTF-8在 Linux 中安装数据堆时,数据被编码为UTF-16通过Windows。
我怀疑文件名包含无法在 UTF-8 中正确读取的多字节字符。作为一般规则,当与双语员工一起工作时,我告诉他们坚持使用 UTF-8 中的非重音字符(前 128 个字符)作为文件名,以避免这种痛苦。
文件名中字符编码的差异可能会导致将 TAR 备份恢复到具有不同编码的系统时出现问题。
不管怎样,你可以用 ICU 转换编码:http://site.icu-project.org/。
HTH你出去-