例如:é
进入é
有时用户获得ascii格式字符集而不是法语字符集...所以任何人都可以帮助我在perl中有任何可以将ascii转换为UTF-8的函数
答案 0 :(得分:4)
这最好由Perl内置的Encode
模块处理。以下是如何转换字符串的简单示例:
my $standard_string = decode("ascii", $ascii_string);
($standard_string
将在你的系统中使用Perl的标准编码。换句话说,你不应该担心它从那一点开始。
链接文档提供了许多其他可以做的事情示例 - 例如设置输入文件的编码。一个相关的有用模块是Encode::Guess
,它可以帮助您确定字符编码是否未知。
答案 1 :(得分:4)
听起来您想将HTML实体转换为UTF-8。为此,请使用HTML::Entities和decode_entities
功能。
这将为您提供一个没有附加特定编码的Perl字符串。以UTF-8编码输出字符串:
print Encode::encode_utf8(decode_entities($html_string));
或者,在STDOUT上设置UTF-8 PerlIO层,Perl将为您编码UTF-8中的所有内容 - 如果输出多个字符串,则非常有用。
binmode STDOUT, ':utf8';
print decode_entities($html_string);