在该Date::Holidays::DK
模块中,某些丹麦节日的名称以 Latin1 编码编写。例如,1 月 1 日是“Nytårsdag”。$x
为了获得正确的 utf8 编码字符串,我应该在下面做什么?
use Date::Holidays::DK;
my $x = is_dk_holiday(2011,1,1);
use utf8
我尝试了and no utf8
before/after的各种组合use Date::Holidays::DK
,但似乎没有任何效果。我也尝试使用 Encode's decode
,但没有运气。进一步来说,
use Date::Holidays::DK;
use Encode;
use Devel::Peek;
my $x = decode("iso-8859-1",
is_dk_holiday(2011,1,1)
);
Dump($x);
print "January 1st is '$x'\n";
给出输出
SV = PV(0x15eabe8) at 0x1492a10
REFCNT = 1
FLAGS = (PADMY,POK,pPOK,UTF8)
PV = 0x1593710 "Nyt\303\245rsdag"\0 [UTF8 "Nyt\x{e5}rsdag"]
CUR = 10
LEN = 16
January 1st is 'Nyt sdag'
(在 t 和 s 之间有一个无效字符)。