2008/7/17

UTF-8でPHPのIncludeに空白行が入ってしまう件

Shift_JISのエンコーディングのサイトを、UTF-8に移行する作業をやっていて、TeraPadでUTF-8として保存しなおして、DreamweaverでCharsetをUTF-8に一発置換してしまえばOKかと思ったのですが、トラブル発生。PHPでIncludeして読み込ませているところに、空白行が1行入ってしまいました。

BOM付きUTF-8による空白行:逆襲のニート

調べましたところ、UTF-8ではファイルの先頭にBOM(Byte Order Mark)というのが挿入されるのだそうです。ですので、このBOMを含まないUTF8Nというので読込先のPHPを保存しなおしたところ、うまく行きました。こんなの先人の知恵を拝借しないと気付きようがありません。

色々ありますねえ。

追記:
気になったので更に調べてみました。
初期設定のドキュメントタイプおよびエンコーディングの設定
DreamweaverでUTF-8のファイルを作成する場合、BOMの挿入は追加オプションなのですね。ということはDreamweaverでUTF-8ってデフォルトで言っているのは基本的にUTF-8Nを指す、ってことでしょうかね。

加藤 康祐 / 企画・設計

プランナー、デザイナー。加藤康祐企画設計代表。Webデザインを入り口に、2005年よりフリーランスとしてのキャリアスタート。主な仕事としてベンチャー企業でのサービスのUXデザイン、独法との防災メディアの運営、社会的養護の子どもたちの自立を支援するNPOのサポート。ラグビーと料理、最近イラスト。

加藤康祐企画設計

是非、フォローしてください!
Twitter / Instagram

(2012-10-5)
売り上げランキング: 14,705
100円