PDA

Просмотр полной версии : CGI::Application


chorny
26.05.2008, 21:23
Как в C::A отдать сharset=utf8 в заголовке http?

podlom
28.05.2008, 12:39
Может тебе поможет борьба с использованием use Encode (http://ahinea.com/en/tech/perl-unicode-struggle.html)?
Хорошая статейка. Мне реально помогла.

chorny
28.05.2008, 20:27
Может тебе поможет борьба с использованием use Encode?

С utf8 я работать умею, меня интересует именно http.

podlom
28.05.2008, 23:46
С utf8 я работать умею, меня интересует именно http.

Ну в той статье вроде бы есть примеры типа: require Encode;
require CGI;
my $query = CGI ->new;
my $form_input = {};
foreach my $name ( $query ->param ) {
my @val = $query ->param( $name );
foreach ( @val ) {
$_ = Encode::decode_utf8( $_ );
}
$name = Encode::decode_utf8( $name );
if ( scalar @val == 1 ) {
$form_input ->{$name} = $val[0];
} else {
$form_input ->{$name} = \@val; # save value as an array ref
}
}

chorny
24.12.2008, 19:52
кстати вот решение


sub cgiapp_init {
my $self = shift;
$self->query->charset('windows-1251'); #или любой другой
}