我有一些文件包含字符串,需要将它们转换为UTF8 with perl是否有任何选项可以使用perl来运行这些文件并将每个字符串转换为utf8并且如果某些字符串是utf8编码以保持它们的原样? / p>
答案 0 :(得分:5)
你说文件的某些部分是使用UTF-8编码的,有些是使用别的东西编码的,但你没有指定其他编码,这很重要。
一般来说,通过查看字符串来判断字符串的编码是不可能的。但是,如果您正在处理US-ASCII,iso-8859-1,cp1252和UTF-8的混合,您实际可以告诉*的可能性,并且有人已经为您编写了该工具。
Encoding::FixLatin附带一个名为fix_latin
的脚本,该脚本会将上述编码混合的文件转换为UTF-8。
答案 1 :(得分:2)
您可以使用Encode模块在编码之间进行转换。 (无需安装任何内容;它是核心库的一部分。)请注意,“将字符串转换为UTF-8 ”要求您知道要转换的编码;没有办法可靠地识别8位文本编码。