【发布时间】:2013-12-10 15:20:19
【问题描述】:
我使用Devel::REPL。在转储结构时,它目前使用一些转义符,例如 \x{17d} 来处理字符串中的重音字符。我怎样才能让它直接输出 UTF-8 呢?这是一个例子:
$ re.pl
$ {'žůžo' => ['bříško']}
$HASH1 = { "\305\276\305\257\305\276o" => [ "b\305\231\303\255\305\241ko" ] };
有趣的是直接输入字符串直接输出:
$ re.pl
$ 'žůžo'
žůžo
这应该是“基本”版本:
$ perl -MDevel::REPL -e 'my $repl = Devel::REPL->new; $repl->load_plugin("DDS"); $repl->run'
$ {'žůžo' => ['bříško']}
$HASH1 = { "\305\276\305\257\305\276o" => [ "b\305\231\303\255\305\241ko" ] };
所以看起来Data::Dump::Streamer 是罪魁祸首,但我没有更进一步。我在Perl Monks 上的Data::Dumper 中找到了一些关于Unicode 的讨论,但这显然在这里没有帮助。粗略浏览 Data::Dump::Streamer 文档并没有发现任何有趣的 Unicode 或猴子补丁。
【问题讨论】:
标签: perl unicode read-eval-print-loop