XEmacs + Mew であるMLだけ文字化けします。 ファイルを直接読んでも化けます。 古い Mule では化けません。 そこで次のようなPerlスクリプトを作って調べてみました。
#!/usr/local/bin/perl
while (<>) {
$ascii++ if /\e\(B/;
$jiso++ if /\e\$@/;
$jisn++ if /\e\$B/;
$jisr++ if /\e\(J/;
}
print "ASCII: ", $ascii, "\n";
print "新JIS: ", $jiso, "\n";
print "旧JIS: ", $jisn, "\n";
print "ローマ字: ", $jisr, "\n";
そのMLのメールだけ旧JIS,ローマ字になっていることがわかりました。 そこで次のようなスクリプトで変換することにしました。
#!/usr/local/bin/perl
while (<>) {
s/\e\(J/\e\(B/g;
s/\e\$@/\e\$B/g;
print;
}
これを ~/change.pl として,コマンドラインで次のように打ち込みます。
for x in *; do ~/change.pl $x >foo; mv foo $x; done
もしタイムスタンプを保存したいなら次のようにするといいでしょう。
for x in *
do
~/change.pl $x >foo
touch -r $x foo
mv foo $x
done
リンクはご自由にどうぞ。
松阪大学 奥村晴彦 okumura@matsusaka-u.ac.jp
Last modified: Sat Oct 23 11:53:51 JST 1999