UTF-8でPHPのIncludeに空白行が入ってしまう件
Shift_JISのエンコーディングのサイトを、UTF-8に移行する作業をやっていて、TeraPadでUTF-8として保存しなおして、DreamweaverでCharsetをUTF-8に一発置換してしまえばOKかと思ったのですが、トラブル発生。PHPでIncludeして読み込ませているところに、空白行が1行入ってしまいました。
調べましたところ、UTF-8ではファイルの先頭にBOM(Byte Order Mark)というのが挿入されるのだそうです。ですので、このBOMを含まないUTF8Nというので読込先のPHPを保存しなおしたところ、うまく行きました。こんなの先人の知恵を拝借しないと気付きようがありません。
色々ありますねえ。
追記:
気になったので更に調べてみました。
初期設定のドキュメントタイプおよびエンコーディングの設定
DreamweaverでUTF-8のファイルを作成する場合、BOMの挿入は追加オプションなのですね。ということはDreamweaverでUTF-8ってデフォルトで言っているのは基本的にUTF-8Nを指す、ってことでしょうかね。

加藤 康祐 / 企画・設計
プランナー、デザイナー。加藤康祐企画設計代表。Webデザインを入り口に、2005年よりフリーランスとしてのキャリアスタート。主な仕事としてベンチャー企業でのサービスのUXデザイン、独法との防災メディアの運営、社会的養護の子どもたちの自立を支援するNPOのサポート。ラグビーと料理、最近イラスト。
是非、フォローしてください!
Twitter / Instagram
売り上げランキング: 14,705
100円
フリーランスとして働き始めるってどういうことだったのか?フリーランスとして働くってどういうことなのか?フリーランスが目指すことってなんなのか?5年間の自分の経験から書きました。(2010年執筆)