--- 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));
 }