EclipseでHTMLファイルの文字コードがShift_JISになるのを防ぐ

EclipseでHTMLファイルを開くと、内容がUTF-8にも関わらず以下のように勝手にShift_JISと判定される場合があります。

これは、org.eclipse.wst.html.core.internal.contenttype.EncodingGuesserの挙動によるもので、文字コードの判定ができない場合、日本語環境においては自動的にShift_JISが設定されるようです。ワークスペースの文字コードを変更しても、Content TypesのHTMLのDefault encodingを設定しても効果はありません。

対策としては、HTMLファイルの<head>内に<meta charset=”UTF-8″>タグを含める方法があります。charsetに指定してある文字コードが自動的に設定されます。しかし、フレームワーク等でHTMLファイルを分割して利用している場合は、この方法をとることはできません。他にも、.htmlの拡張子を持つファイルをHTML以外のコンテントタイプに紐づけたり、EnxodingGuesser自体を書き換えてしまうアプローチを取っている方もいるようですが、少し手間がかかりそうです。

一番簡単なのは、Eclipseを英語環境で起動する方法です。eclipse.exeと同じ場所にあるeclipse.iniにEclipseを起動するJVMの環境変数として、「-Duser.language=en」を加えます。

Eclipseを再起動すると、以下のようにUTF-8と設定されていることが分かります。日付の表記も英語に変わってしまいましたが、大きな問題ではないでしょう。

[参考]

https://bugs.eclipse.org/bugs/show_bug.cgi?id=237567

コメントを残す

Required fields are marked *.


このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

Top