2013年04月12日

2013 04.12 Fri


外部スクリプト内の日本語文字が、サイトで読み込むと文字化けしてしまいました。

「encoding="Shift_JIS"」サイトでは問題なく、「encoding="UTF-8"」サイトでのみ文字化けしたので、おそらく「Shift-JIS」で保存していた外部スクリプトファイルを「UTF-8」エンコードのサイトで表示したため文字コードの不一致が原因なのかな。

<script charset="Shift_JIS" src="..."

この記述でも文字化け表示のエラーは解消できず。


Shift_JISエンコードを捨て、「UTF-8(BOM付き)」で保存することで解決しました。

BOM付きとは
BOM=バイト順マーク(Byte Order Mark)は、文書ファイルの先頭に付ける EF BB BF という3バイトのバイナリデータです。ファイルの文字コード(符号化方式)がUTF-8であることを明示するために付ける場合があります。

BOM付きかBOM無しかはファイルの先頭にBOMデータを付けるか、付けないかが異なるだけで、ファイルの内容そのものや、文字コード(符号化方式)自体は同じUTF-8であって違いはありません。

但し、アプリケーションによってはBOM付きでないとUTF-8として認識できないもの、あるいはBOM無しでないとファイルを正しく取り扱えないものも存在しますので、アプリケーションや用途によって使い分ける必要があります。


検索すると、WEBプログラミング上での「BOM付き故のトラブルが多い」ような記事が何件かヒットしますが、凡庸スクリプトファイルのみに限って使用する分には問題無さそうです。


Shift_JISサイトでもUTF-8サイトでも、BOMを読み取って正しくエンコードしてくれます。


WindowsXP とか Vista とか Server 2003 とか、そのへんのメモ帳は UTF-8 で保存したときに無条件で BOM をつけるそうなので、仕組みに気付きにくいです。

お疲れさまでした。
参考になりましたらソーシャルメディアで共有してくださいませ。
posted by こさめ
edit  re

■ この記事へのトラックバック
カテゴリ
インターネット>ブラウザ・WEBメール(24)
インターネット>Firefoxアドオン、設定(15)
インターネット>Proxomitronフィルター(32)
インターネット>ブログ、WEBサービス(53)
インターネット>アフィリエイト・ポイントサイト(27)
インターネット>楽天、ポイントあれこれ(5)
インターネット>Windows最適設定(32)
インターネット>インターネット設定(17)
インターネット>デスクトップ改造・拡張(7)
インターネット>セキュリティソフト(6)
ブログカスタマイズ>カテゴリー、記事一覧系(38)
ブログカスタマイズ>jQuery(Script)文字系(23)
ブログカスタマイズ>CSS(Script)デザイン(28)
ブログカスタマイズ>ブログパーツ(7)
ブログカスタマイズ>携帯モバイル系(3)
ブログカスタマイズ>SEO・アクセスアップ(31)
マルチメディア>Brackets(5)
マルチメディア>画像系ソフト(6)
マルチメディア>DVD・動画プレイヤー(15)
マルチメディア>動画編集ソフト(6)
マルチメディア>音楽再生プレイヤー(16)
マルチメディア>ネットラジオ配信・編集(3)
マルチメディア>P2Pテレビソフト(4)
マルチメディア>おもしろ動画・感動動画(25)
デザイン>フリー素材 画像(5)
デザイン>HP・ブログ フリー素材(6)
デザイン>イラスト(非素材)(8)
デザイン>作詞作曲編曲MP3(5)
雑記>PC部品・音楽機材(7)
雑記>映画・アニメ・漫画・芸能(14)
雑記>どうでもいい雑学知識(6)
雑記>ゲーム(6)
雑記>スマホ・携帯電話(6)
雑記>カーナビ・ETC(3)
雑記>ネット銀行とか(2)
雑記>18禁?ちょいエロネタ(3)

 (C) 2006 - kosame All rights.