emacsでHTMLファイルを開くときのハマり

| コメント(4) | トラックバック(0)
先日emacsでハマりました。

あるShift JISで書かれたHTMLファイル群があり、それを再編集しなければならなかったのですがとりあえず新たに開発するシステムのテンプレートのコードがeuc-jpなので、

find . -name \*.html -exec perl -MJcode -pi -e '$_ = Jcode->new($_)->euc' {} \;

などで一括変換をしました。そして変換したファイルをemacsで読みこんだところ、ステータスのところにはEESと出ています。eucのコードになっていれば、EEEとなるはずなのに…。しかもところどころ文字化けとかしてなにかおかしい。でもjlessとかもしくは、windowsやmacのエディタで開いても特に文字化けしない。

ということで、そのファイルをよくよく調査してみたら

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<META http-equiv="Content-Type" content="text/html; charset=Shift_JIS">

という記述が先頭に入っているためらしいということがわかりました。要するにemacsのHTMLモードだとこの行を判定してcharsetを推測してくれるらしいので、euc-jpなファイルをShift_JISで表示しようとして文字化けてるということみたいです。なのでcharset=euc-jpに変更したら無事文字化けせずに開けました。

便利なんだか便利じゃないんだか…。ここは人が気を付けないといけませんね。

トラックバック(0)

トラックバックURL: http://blog.clouder.jp/mt/mt-tb.cgi/381

コメント(4)

ttp://nippo.toona.org/article/2451094.html
とかでどうよ?

反映おそっ!

あれ、こんどは反映された。ふーむ。重いだけかな。

なるほど。

コメントする

検索

広告

月別 アーカイブ

OpenID対応しています OpenIDについて
Powered by Movable Type 5.12