UTF-8 BOM付きとBOMなし(UTF-8N)の違い

なんだか混乱することに 文字コード UTF-8 の BOM付きとBOMなし がある。

BOM付きが UTF-8 で

BOMなし が UTF-8N と表記で区別するそうだが、これは日本でのみ使われるとか、、

BOMとは先頭3文字 :16進数の「 EF BB BF 」

でも、ネット検索してみると、問題がありそうなのだがどうなのだろう。

Internet Explorerでは、 BOMのついていないUTF-8の文書を読み込むと(日本語版の場合)Shift_JISだと 誤認するとか、、

Microsoft Office Excel でも問題ありと書いているサイトもある。

逆に、php では BOMが付いていると問題が起こるという。

Ruby でも問題ありそうだし、、、

Unicodeの規格でもBOMは推奨していないそうだけど、どっちがいいのかよくわからん。

で、自分はBOM無で行こう。

ついでに、UTF-8 utf-8 utf8  正しくはどれ?

公式は  “UTF-8” で、実際は大文字小文字は区別されずどちらでもいいと、、、

多いのは小文字らしい。yahoo も Google も そうだし。

でも、xml の書き出しは大文字が良いとか、、とどこかで目にしたような気がする。

 

ついでに、改行コードの問題

LF は UNIX系

CR+LF は Windows 系 CP/M MS-DOS OS/2もそうだったそうな、、

って、MS-DOS は 今の人たちは知らんだろうし、CP/Mにいたっては「何それ?」かもしれない。私がはるか昔、勤務先のコンピュータでデータを消してしまった時のOSがCP/Mだった・・・・

CR は MacOS  Apple Ⅱ OS-9

FTPソフトでアップロードする場合は自動で転送先のOSに合わせた改行コードに変換してくれるようだけど、念のために転送前に確認したほうがよいかも。

さらに

文字コード覚書と思ったけど ここ 外部ファイルの文字コード指定