2

我有包含的字符串

$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 字符,以及在手动替换的情况下,为什么Â来了?

4

1 回答 1

-1

尝试use utf8;。这对我有用:

use strict;
use warnings;
use utf8;
use Encode;

my $s = '®';

$s =~ s/®/®/g;

print encode('utf8', $s);
于 2013-10-16T12:37:01.973 回答