我有包含
的字符串$string = "&®";
当我执行HTML::Entities::decode($string);
时,它会返回&®
,我发现此功能无法解码ISO代码http://www.w3schools.com/tags/ref_entities.asp
Encode::decode('utf8', '®') // returns ®
Encode::decode_utf8('®') // returns ®
然后我尝试使用正则表达式模式手动替换它
$string =~ s/®/®/g;
但上面一行将其转换为&®,有人可以告诉我如何解码这些ISO字符,如果是手动替换,为什么 来了吗?
答案 0 :(得分:-1)
尝试use utf8;
。这对我有用:
use strict;
use warnings;
use utf8;
use Encode;
my $s = '®';
$s =~ s/®/®/g;
print encode('utf8', $s);