我有一堆阿拉伯语,英语,俄语文件,用utf-8编码。尝试使用Perl脚本处理这些文件,我收到此错误:
Malformed UTF-8 character (fatal)
手动检查这些文件的内容,我发现其中有一些奇怪的字符。 现在我正在寻找一种从文件中自动删除这些字符的方法。
无论如何都要这样做?
答案 0 :(得分:137)
此命令:
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
答案 1 :(得分:0)
您的方法必须逐字节读取并完全理解并理解字符的字节构造。最简单的方法是使用一个编辑器,它将读取任何内容但只输出UTF-8字符。 Textpad是一种选择。
答案 2 :(得分:-4)
cat foo.txt | strings -n 8 > bar.txt
将完成这项工作。