2012-04-30 257 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。