virtualminのmailmanで日本語対応をする。

By | 2016年4月7日

Virtualminにmailmanモジュールを導入すると、日本語が盛大に化けて表示されてしまいます。というのも、mailman自体はeucで表示するようになってますが、virtualminの世界はutf-8なのでうまくいかないというわけです。そこで、mailmanからの表示だけでもutf-8になるように細工をしました。

1)
/usr/libexec/webmin/virtualmin-mailman/unauthenticated 配下の
*.cgiファイルでそれぞれ
close(CGI);
となっているところの下に
$headers =~ s/euc-jp/utf-8/;
と1行追加する。
これは、mailmanのcgiが
Content-Type: text/html; charset=euc-jp
を出力するようになっている実装への対策です。VirtualminのラッパーCGIに細工をするよりかは元のmailmanを修正したほうがスジが良い話なのでしょうが….

2)
/usr/lib/mailman/templates/ja 配下の
各ファイルをEUC-JPからUTF-8に変換する。
※もしかしたら *.txtファイルはEUC-JPのままがいいかもしれない。

※Virtualmin自体の日本語化は
http://tokyocook.jugem.jp/?eid=1 で参照されている
http://daemon.plala.jp/~meke/files/virtualmin/
から取ったファイルをiconvを使い、utf-8に変換して導入しています。