--- suikawiki/script/wiki.cgi 2008/11/10 13:49:05 1.60 +++ suikawiki/script/wiki.cgi 2008/11/10 15:05:30 1.61 @@ -12,13 +12,14 @@ require Message::CGI::HTTP; require Encode::EUCJPSW; my $cgi = Message::CGI::HTTP->new; -$cgi->{decoder}->{'#default'} = sub { - return Encode::decode ('euc-jp-sw', $_[1]); -}; my $page = $ENV{QUERY_STRING}; if ($page =~ /[&;]/) { $page = $cgi->get_parameter ('mypage') // ''; + + my $charset = $cgi->get_parameter ('_charset_') // 'euc-jp-sw'; + $charset = 'euc-jp-sw' unless $charset eq 'utf-8'; + $page = Encode::decode ($charset, $page); } else { $page = Encode::decode ('euc-jp-sw', percent_decode_byte ($page)); }