我有一堆阿拉伯语,英语,俄罗斯文件,这些文件在UTF-8中编码。尝试使用perl脚本处理这些文件,我得到此错误:
Malformed UTF-8 character (fatal)
手动检查这些文件的内容,我在其中发现了一些奇怪的字符。现在,我正在寻找一种自动从文件中删除这些字符的方法。
无论如何都有吗?
此命令:
iconv -f utf-8 -t utf-8 -c file.txt
将清理您的UTF-8文件,跳过所有无效的字符。
-f is the source format
-t the target format
-c skips any invalid sequence
您的方法必须通过字节读取字节,并完全理解和欣赏字节的字节结构。最简单的方法是使用一个编辑器,该编辑器只能读取仅输出UTF-8字符的任何内容。TextPad是一种选择。
iconv
可以做到
iconv -f cp1252 foo.txt
这里或任何其他类似问题的方法都不适合我。最后,有效的工作只是在Sublime Text 2中打开文件2。转到File>重新打开编码>UTF-8。将文件的整个内容复制到新文件中并保存。
可能不是预期的解决方案,但在此处将其放在这里,以防任何人,因为我一直在努力工作。