如何从文本文件中删除非 UTF-8 字符
- 2024-10-31 08:38:00
- admin 原创
- 202
问题描述:
我有一堆阿拉伯语、英语、俄语文件,它们都采用 utf-8 编码。尝试使用 Perl 脚本处理这些文件时,出现以下错误:
Malformed UTF-8 character (fatal)
手动检查这些文件的内容时,我发现其中有一些奇怪的字符。现在我正在寻找一种方法来自动从文件中删除这些字符。
有没有什么办法可以做到呢?
解决方案 1:
此命令:
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
解决方案 2:
您的方法必须逐字节读取,并充分理解和领会字符的字节结构。最简单的方法是使用可以读取任何内容但只输出 UTF-8 字符的编辑器。Textpad 是一种选择。
解决方案 3:
iconv
可以做到
iconv -f cp1252 foo.txt
解决方案 4:
这里或任何其他类似问题上的方法对我都不起作用。最后,有效的方法是在 Sublime Text 2 中打开文件。转到文件 > 使用编码重新打开 > UTF-8。将文件的全部内容复制到新文件中并保存。
可能不是预期的解决方案,但将其放在这里以防它对任何人有帮助,因为我已经为此奋斗了几个小时。
相关推荐
热门文章
项目管理软件有哪些?
热门标签
云禅道AD