我正在尝试使用 convmv 将俄罗斯 zipfile 中的文件名转换为 UTF-8。原始文件名:“æ óá¡¿½∞¡δ¼ áα«¼áΓ«¼.jpg”(æ\ óá¡¿½∞¡δ¼\ áα«¼áΓ«¼.jpg 带斜线)
此分析器 ( https://2cyr.com/decode/?lang=en ) 检测到源编码 CP866 + 显示为 CP437,并成功解码为所需的 С ванильным ароматом.jpg。
我的问题是,如何设置 convmv 以正确解码?对于convmv -f cp866 -t utf-8 filename
,我得到“已经是 UTF-8”,在 --nosmart 模式下我得到了胡言乱语。
一次通过
convmv
一次只能修复一个级别的错误。您的特定文件更复杂。它最初是 cp866,并且在某个时候变成了 UTF-8,但是无论进行什么转换,都认为它最初是 cp437,因此将其转换错误。要解决此问题,您需要运行convmv
两次:请注意,我必须在第二个命令中转义名称。如果您正在批量运行它和/或不想处理它,您可以使用类似的东西
*.jpg
,或者将所有受影响的文件放在他们自己的目录中并使用-r
选项 toconvmv
。