テンプレート内に日本語を書くと文字化けする。
utf-8がTemplateで読まれるときのフラグの関係だと思われる。
いろいろ調べてTemplate::Provider::Encodingという、かの有名なmiyagawaさんのモジュールを使えば良いことがわかった。
Index: Chariot.pm
===================================================================
--- Chariot.pm (revision 13330)
+++ Chariot.pm (working copy)
@@ -7,6 +7,7 @@
use YAML;
use App::Chariot::Config;
use Template;
+use Template::Provider::Encoding;
use File::Spec;
use XML::RSS;
use Scalar::Util;
@@ -55,9 +56,11 @@
my $self = shift;
Template->new(
{
+ LOAD_TEMPLATES => [ Template::Provider::Encoding -> new({
INCLUDE_PATH =>
File::Spec->catfile( $self->config->assets_dir, 'tmpl' ),
ABSOLUTE => 1,
+ })]
}
);
}
実は、このサイトがずっと英語メニューだったのはこのためだったのだ。:-p
ツイート