変数に入れた文字列を全てShift-jisに変換して、sendmailしたいのですが、
全く変換されていないようです。
jcode::convert(\$test,'sjis');
こんなことをやってみたのですがダメでした。
EUCがきてもUnicodeが来てもShift-jisに変換するにはどのようにしたらよいでしょうか?
おそらく jcode.pl を使用されているようですが、
Jcode.pm の方が便利ですよ。
http://search.cpan.org/dist/Jcode/Jcode/Nihongo.pod
use Jcode; $test = Jcode->new($test)->sjis;
また、変換方法としては該当の方法であっていると思います。
文字コードの自動判別はなかなか難しく、100%の方法はありません。
HTML の FORM 等から受け取ったデータであれば、あらかじめ固定のデータ(例:あいうえお)とかを同時に POST させてそちらで文字コードを判別するのも手だと思います。