【发布时间】:2015-02-06 17:19:14
【问题描述】:
这很奇怪,很难解释哪里出了问题,但我会尽力而为。
由于某些原因,模板的值会改变它们的编码(我很确定它们是)。
控制器文件(以 UTF-8 编码):
print STDERR "ąęść";
$c->stash->{some_variable} = "ąęść"; # some unicode chars
模板文件(以 UTF-8 编码):
[% some_variable %]<br>
test: ąęść
作为浏览器中的输出,我得到:
ÄÄÅÄ
test: ąęść
控制台输出(启用 UTF-8 编码):
ąęść
【问题讨论】:
-
你的控制器文件中有
use utf8;吗? -
您的 TT 配置中似乎没有
ENCODING => 'utf-8'。 -
配置没问题。由于某种原因,模板文件内容已损坏。当我从模板文件中删除所有内容并将其仅放置在其中时,它可以工作...
-
@J33nn 等等,所以当你的模板包含
[% some_variable %]<br> test: ąęść时,你会得到ÄÄÅÄ test: ąęść,但是当你的模板只包含[% some_variable %]而没有其他内容时,你会得到ąęść?这没有任何意义。 -
我认为您需要将行为不端的应用程序减少到显示相同行为的最低限度。应该不难。您很可能会在此过程中自己发现问题,但是您可以在此处发布一些其他人可以使用的内容,