e日記風 独り言

気まぐれ & 気まま & 天邪鬼な老いぼれ技術屋の日々の記録のうち、主に Perl・CGI・HTMLなど Web技術に関連した記事です。
右端上端の同一カテゴリージャンプボタンで他の同じカテゴリーの記事を順番にご覧いただけます。
Access Counter:  総アクセス数
-1596- 狭い話の続き
狭い話の続きだが、忘備録として。
時々 htmlファイルをブラウザで表示させると文字化けしてしまうことがある。該当の htmlファイルを保存した2バイトコードの文字エンコーディングと html中で宣言した文字コードは UTF-8で一致しており、なんの問題もないと思われる。しかも、ローカルホスト上なら文字化けせず、サーバーにアップすると文字化けしたり、文字化けした場合通常ならブラウザで文字エンコーディングを切り替えれば直るのにこの場合は 「shift-jis」や「UTF-8」など考えられるエンコーディング全てに切り替えてみても直らなかったりするので一層謎が深まる。
今日になってふと、そう言えば UTF-8はファイルの先頭にBOM【 Byte Order Mark 】という3バイトの文字コード符号がつくことがあったような? と思ってバイナリエディタで問題の htmlファイルを開いてみたら "0xEF 0xBB 0xBF" というコードが付加されていた。どうやら正確には UTF-8(BOM) と呼ばれるコードだと文字化けして、この頭の3バイトを削除すると文字化けしなくなるようだ。 BOMの付かないコードは区別のために UTF-8Nとも呼ぶらしい。なんとも紛らわしい話で、半日近くも悩んでしまった。
結局原因は htmlファイルを最初に作って保存するとき、TeraPadというテキストエディタの場合文字コード指定保存では「UTF-8」と「UTF-8N」が選べるが、BOMのことを意識していなかったのでどうやら「UTF-8」の方で保存したことらしい。

今日の写真はこの間の睡蓮の池に咲いた別の花。この花は形といい色といい見るとどうしても撮影せずにはいられない。日本人だなぁ~ と思ってよくよく考えたら、モネも睡蓮に取り憑かれていたようだし、洋の東西は問わないんだろうか?
2016/05/08