gpt4 book ai didi

perl - 如何消除 TT 的 "Wide character in print"警告?

转载 作者:行者123 更新时间:2023-12-04 02:08:43 25 4
gpt4 key购买 nike

每次运行 CGI 脚本(输出由 Template::Toolkit 呈现)时,我都会收到此警告:
Wide character in print at /usr/local/lib/perl5/site_perl/5.8.9/mach/Template.pm line 163.
消除它的正确方法是什么?

我使用此配置创建 tt 对象:

my %config = (
ENCODING => 'utf8',
INCLUDE_PATH => $ENV{TEMPLATES_DIR},
EVAL_PERL => 1,
}
my $tt = Template->new(\%config);

最佳答案

将此放在调用 $tt->process() 之前让输出自动编码:

binmode STDOUT, ':utf8';

编辑 : 作为 daxim提到,可以利用 TT 的编码工具:
$tt->process($infile, $vars, '-', { binmode => ':utf8' })

这依赖于广泛使用的约定,即 '-'文件名给你 STDIN当它打开阅读时,和 STDOUT当它打开写作。

编辑 2 : 顺便说一句,后一种方式在 mod_perl (2.0.5) 下似乎对我不起作用。

关于perl - 如何消除 TT 的 "Wide character in print"警告?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2468533/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com