[Moscow.pm] utf8 и Template Toolkit
Свистунов Сергей
sergei-svistunov на yandex.ru
Пт Авг 8 00:39:24 PDT 2008
Сделать класс
package MyProvider;
use strict;
use utf8;
use base qw(Template::Provider);
sub _load {
my $self = shift;
my($data, $error) = $self->SUPER::_load(@_);
return ($data, $error) unless defined $data;
unless (utf8::is_utf8($data->{'text'})) {
utf8::decode($data->{'text'});
};
return ($data, $error);
};
1;
Затем
my %options = (
LOAD_TEMPLATES => [
MyProvider->new(
INCLUDE_PATH => ...,
DEFAULT => ...,
COMPILE_EXT => ...,
COMPILE_DIR => ...,
),
],
PRE_CHOMP => 1,
POST_CHOMP => 1,
INTERPOLATE => 1,
EVAL_PERL => 1,
PRE_DEFINE => {},
PRE_PROCESS => ...,
POST_PROCESS => ...,
ERROR => ...,
);
my $tt = Template->new(%options);
Шаблоны должны быть в utf.
Dmitry E. Oboukhov пишет:
> на Yapc помнится кто-то докладывался с тем что для сабжа какой-то хак
> писали чтобы без BOM нормально работало. не осталось ссылки на этот доклад?
>
> сижу вот ковыряюсь и тоже не могу решить что делать
> BOM - неприемлемо,
> толи наследника написать, толи функцию хакнуть...
>
> --
> ... mpd is off
>
> . ''`. Dmitry E. Oboukhov
> : :’ : unera на debian.org
> `. `~’ GPGKey: 1024D / F8E26537 2006-11-21
> `- 1B23 D4F8 8EC0 D902 0555 E438 AB8C 00CF F8E2 6537
>
> ------------------------------------------------------------------------
>
> --
> Moscow.pm mailing list
> moscow-pm на pm.org | http://moscow.pm.org
>
----------- следущая часть -----------
Вложение в формате HTML было извлечено…
URL: <http://mail.pm.org/pipermail/moscow-pm/attachments/20080808/d4a8a776/attachment.html>
Подробная информация о списке рассылки Moscow-pm