2012-04-30 211 views
1

我有一些文件包含字符串,需要将它们转换为UTF8与Perl有没有任何选项与Perl运行这些文件并将每个字符串转换为utf8,如果某些字符串是utf8编码保持原样?将字符串转换为UTF8与perl

回答

2

您可以使用Encode模块在编码之间进行转换。 (不需要安装任何东西;它是核心库的一部分。)请注意,“将字符串转换为UTF-8”要求您知道要转换的编码;没有办法可靠地识别8位文本编码。

5

你说文件的某些部分使用UTF-8进行编码,有些部分使用其他编码进行编码,但是您没有指定其他编码,这很重要。

一般来说,通过查看它不可能告诉字符串的编码。但是如果你处理的是US-ASCII,iso-8859-1,cp1252和UTF-8的混合体,那么你实际上可以告诉*,而且有人已经为你编写了这个工具。

Encoding::FixLatin附带了一个名为fix_latin的脚本,该脚本将将上述编码混合在一起的文件转换为UTF-8。