Encode::Guess

と言うモジュールがあります。
Perl5.8ではたしか標準付属なモジュールです。

Jcodeで言うところのgetcodeを行う*1モジュールです。

http://news.ring.gr.jp/news/openlab.jcode5/610

こんなやり取りがありました。
これを見る限りJcodeでは失敗時にはeucの用ですね。

と言うわけで家のWrapperもそういう風に書き換えてみました=]

		my $src = $CGI->param($_);
		my $encodesrc = guess_encoding( $CGI->param($_) );
		if( ref $encodesrc )
		{
			from_to($src,$encodesrc->name,$Encodechar);
			$CGI->param($_,$src);
		}
		else
		{
			from_to($src,'euc-jp',$Encodechar);
			$CGI->param($_,$src);
		}

果たしてこれが正しい選択なのか…それはだれにも解りません。

*1:ただしJcodeは元の文字列を自動判別するため内部的に呼ばれるのですが。