如何从文本文件中删除非UTF-8字符



我有一堆阿拉伯语,英语,俄罗斯文件,这些文件在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。将文件的整个内容复制到新文件中并保存。

可能不是预期的解决方案,但在此处将其放在这里,以防任何人,因为我一直在努力工作。

相关内容

  • 没有找到相关文章