[Eclipse]CSSファイルの文字コードをUTF-8に設定する

Read More

EclipseでCSSファイルを開いたら文字化けを起こしていた。


CSSファイルを右クリックしてプロパティを確認してみると、
「内容から判別する」がうまく機能せず、UTF-8なのにShift_JISとして判別していることがわかった。




ということでEclipseの設定を色々見直してみた。






…んーよくわからん。


そもそもEclipseの設定がうまく反映されてないんじゃないかこれ。
今まで文字化けせずにすんでいたのはなんでだろう。


色々調べてみたら文字化けするCSSファイルと、文字化けしないCSSファイルの違いがわかった


文字化けしないCSSファイルの先頭には、
@charset "UTF-8";
という記述がしてあった。


これはブラウザにCSSファイルがUTF-8だと正しく認識させるために書いているものだ。



なーるほど。
Eclipseはこの記述があればCSSファイルを正しく文字コード判別することができるのだな。




文字化けしているCSSファイルと していないCSSファイルのプロパティをそれぞれ見比べてみると、情報が少し変わっていることに気が付いた。


charset未指定のCSSファイル



charset指定しているCSSファイル


「内容から判別する」から「コンテンツ・タイプから判断する」に変わってる。


ふむ、CSSファイルのあの記述で文字コードは内容から判断しなくなったってことかー。


とりあえずこれでCSSファイルの文字化けからは解放されそうです。





結論:
CSSファイルにはファイルの先頭で@charsetをきっちり指定してやる。






--
おまけ:
一応、ファイルのプロパティから強制的に文字コードを指定することもできる。
が、これはファイル単位になるので、新しいファイルを触るたびに
毎回設定しなくちゃならない。


うっかり設定を忘れたりしたら文字化けファイルのできあがりー、
ってことになるので多用できない。


まあ知識として。










Comments(2)

1  名無しさん  2015/10/14 (水) 11:55 ID:L6DVDeC15
[ウインドウ][設定]を開き、[一般][コンテンツ・タイプ][テキスト][CSS][デフォルトエンコード]をUTF-8にすると、@charsetで指定していないファイルが多い場合に便利?

2  シラサヤ  2015/10/19 (月) 15:19 ID:rOgVlIZ15
>[ウインドウ][設定]を開き、[一般][コンテンツ・タイプ][テキスト][CSS][デフォルトエンコード]をUTF-8にすると、@charsetで指定していないファイルが多い場合に便利?

本記事中では省略していますが上記で指摘されていることは試しています。
それやっても設定がうまく反映されないので本記事、ということでした。

一応現在の環境のVer4.2.2で改めて試してみました。
が、やはり指摘された方法での「設定」は正しく反映されませんでした。

Verによって差異(バグ)があるのかも知れません。