我有使用 utf-8 编码的 mojolicous 应用程序。我所有的文件(模板,代码,任何东西)都在 utf-8 中。
但是对于第三方服务,我需要以 win-1251 编码显示我的页面之一。
我在启动时添加了新格式:
$self->types->type(wbm => 'text/html; charset=win-1251');
我添加模板/显示/mypage.wbm.ep
<%= $txt %>
在我的控制器中,我设置了格式:
$self->render( 'show/mypage', format => 'wbm', txt => 'Превед, win1251');
当我访问 127.0.0.1:3000/show/mypage 我看到正确的类型 text/html; charset=win-1251 和错误的字符,如
УУАУЅУЂУЅУЄ, win1251
我尝试在模板中进行编码,例如:
<%= Encode::encode('windows-1251',$txt) %>
并尝试在控制器中执行相同操作,但页面仍然显示不正确。
请帮帮我。
升级版:
这是带有完整代码的测试项目https://github.com/korjavin/MojoWinPage 。