2018年1月2日火曜日

BOMについて

 WEBサイト表示時に、うまく表示できないことがありました。

調べてみると、
開発ツールのコンソールみると、 Json変換エラーが起こりました。
そして、サーバからのレスポンスみると、レスポンスの頭に、
  
という意味不明な文字がついていました。

これは、BOMの設定すると、存在するみたいで、Json変換エラーが起こる原因になるみたいです(削除したら、変換エラーがなくなった)。

BOMについては、Wikipediaには下記のように書いてあるので、なるべく使わない方が無難なようです。

UTF-8は文字コードとしてASCIIを前提としたプログラムでもおよそ支障なく動作するように設計されているが、BOMによって正常に処理できなくなる場合がある。Unicodeの規格において、UTF-8においてBOMは容認されるが、必須でも勧められるものでもないとされている。[3]また、データベースやメモリにロードするデータなど、内部的なデータ形式では、プログラムの性能や効率の観点から普通BOMは用いられない。

BOMによってUnicodeのテキストデータが他のUnicode符号化形式や、BOMのバイト表現(UTF-7を除く)に符号位置に該当する文字のない日本語の文字コードから正確に区別をすることができる一方で、0xFEに"þ"、0xFFに"ÿ"が割り当てられているISO/IEC 8859-1に対しては、この2文字が先頭にくる文章を誤ってUnicodeと判断してしまう問題がある。


【参考URL】
https://alaki.co.jp/blog/?p=1236
https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1090879270
https://stackoverflow.com/questions/4614378/getting-%C3%AF-at-the-beginning-of-my-xml-file-after-save

0 件のコメント:

コメントを投稿