Perl 在特定的编码中只需要显示一页
我有mojolicous应用程序,它采用utf-8编码。 我所有的文件(模板、代码、任何东西)都是utf-8格式的 但是对于第三方服务,我需要用win-1251编码显示我的一个页面 我在启动时添加新格式:Perl 在特定的编码中只需要显示一页,perl,encoding,utf-8,mojolicious,Perl,Encoding,Utf 8,Mojolicious,我有mojolicous应用程序,它采用utf-8编码。 我所有的文件(模板、代码、任何东西)都是utf-8格式的 但是对于第三方服务,我需要用win-1251编码显示我的一个页面 我在启动时添加新格式: $self->types->type(wbm => 'text/html; charset=win-1251'); 我添加模板/show/mypage.wbm.ep <%= $txt %> 当我访问127.0.0.1:3000/show/mypage时,我看
$self->types->type(wbm => 'text/html; charset=win-1251');
我添加模板/show/mypage.wbm.ep
<%= $txt %>
当我访问127.0.0.1:3000/show/mypage时,我看到了右键text/html;字符集=win-1251
还有错误的角色,比如
УУАУЅУЂУЅУЅ,win1251
我尝试在模板中进行编码,如下所示:
<%= Encode::encode('windows-1251',$txt) %>
并尝试在控制器中执行相同操作,但页面仍显示不正确
请帮帮我
UPD:
下面是完整代码的测试项目。由
感谢Sebastian Riedel(),您的浏览器检测到文档的编码是什么?编码
win1251
不存在,您的意思是windows-1251
?$txt
变量应该做什么,在哪里填充?您可能想了解,和。源文件的编码是什么,您是否使用了utf8代码>?我猜答案应该是“UTF-8”和“否”(意思是你实际上没有ППццц
),而它们应该是“UTF-8”和“是”。你是否尝试过设置$self->renderer->编码
,请参阅带有自动检测的@amon浏览器show me win-1251。如果没有“-”,我只在字符串中使用它一次进行测试。谢谢您的后期处理,我会试试。@I我告诉您,我的答案是UTF-8和“否”。但是当我添加时使用utf8;在我的控制器类文件中,它没有任何更改。仍然是糟糕的字符作为回应。
<%= Encode::encode('windows-1251',$txt) %>
my $page = $self->render( 'show/mypage', format => 'wbm', txt => $txt, partial> => 1);
my $win=Mojo::Util::encode ('cp-1251',$page);
$self->render(data=>$win);