• 締切済み

文字化けを修正して表示

すでに文字化けして保存されてしまっているメールのsubujectの文字化けを修正して表示させたいと思っています。CGI/perlでこのようなことは可能なのでしょうか。 NAMAZUにおいてはどうやらできているので、もしperlじゃなくこうすればできるというのでもかまいませんので教えていただけませんでしょうか。 なお、メールのsubjectは次のようにして抜き出しました。 FILESUBJECT: while (<@fileadd>){   #fileaddはファイルのリスト open (MFILE,$_); while (<MFILE>){ if ($_,/^Subject:/) { s/Subject://; chop; push @subject,$_; #print; next FILESUBJECT; } } } print "@subject\n"; これでsubjectの中身は取れるのですが、文字化けをどうすれば直せますか? なお、OSはsolaris8です。

みんなの回答

  • duckling
  • ベストアンサー率47% (88/185)
回答No.2

require './jcode.pl'; &jcode'convert(*subject,'jis'); これじゃダメですか?

bukas
質問者

お礼

試してみましたがJcodeではうまく機能しませんでした。 結局nkfでファイルそのものにフィルタを通してから抜き出すことで解決しました。 アドバイスありがとうございます。

  • bagyo
  • ベストアンサー率40% (16/40)
回答No.1

こんにちわ。 具体的に、Subjectの文字化けというのは、どのような感じになっているのでしょうか? 例えば、=?ISO-2022-JP?のようになっているのでしたら、エンコードされているだけなので、元に戻すための規則があったはずです。(詳しくは知りませんが...) また、元々8bitだったのが途中で1bit削られ、7bitになってしまったものについては、例えばFreeBSDのportsの中に、recjis-1.0のようなソフトウェアがあります。

bukas
質問者

お礼

アドバイスありがとうございました。 おかげで、文字コードの変換を詳しく調べることで問題を解決することができました。 結果的には、nkfでファイルをフィルタリングしてから該当部分を抜き出すことで問題を解決しています。

関連するQ&A