秀丸エディタで 文書を開くと、文字コード UTF8 のはずが Shift_JIS で開いてしまい文字化けが発生してしまう・・・・という場合の対処方法です。
間違って開いちゃった例 (.cssファイル)
▲クリックで拡大
この例では開いた文書は UTF8 なのに Shift_JIS で開いてしまっています。
文字化け発生時の状況
- 日本語(2バイト文字)が極端に少ないcssファイルで発生。
- 先頭に文字コードの指定「@charset "utf-8";」を付けてみましたが結果は変わらず。文字コードは別の仕組みで自動判別を行っているようです。
- ちなみにスタイルシートを CSS Compressor にかける前、コメントアウトに大量の日本語コメントが付いている時は文字化けは発生しません。
- どうやら2バイト文字の量が少なくなると誤判定が起きるようです。
大抵は「エンコードの種類」を自動認識して 文字コードを正確に判別してくれるのですが、このような具合でまれに間違った文字コードで認識されてしまう場合があります。
対処方法
文字コードの優先順位を変更します。
まず「その他」>「動作環境」を選択します。
▲クリックで拡大
- 「エンコード1」を選択
- 優先したい文字コード (画面では UTF-8) を選択
- 「上へ」ボタンで優先順位を上げる
- 「標準のエンコードの種類」を選択する
- 「エンコードの種類」を目的の文字コード (画面では UTF-8) に変更する
まだ誤判定がなおらない場合
▲クリックで拡大
自動判定の設定で「優先順位に従う」にチェックを入れます。
手順は以上です。
あとがき
今回の場合、この「複数のエンコードの種類に適合する場合」に条件が合致してしまったようで、文字化けを解消するのに苦労しました。
秀丸エディタを利用するようになってから かれこれ20年は経過していますが、こういう文字化けの経験ははじめてでした。一定数の2バイト文字が存在していれば、こういう現象は発生しないので、サンプリングの問題かもしれないです。