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を指す、ってことでしょうかね。
トラックバック
このエントリーのトラックバックURL:
http://www.experience-transporters.com/mt/mt-tb.cgi/2779












コメント
オレも昔同じ作業したことがあって、UTF-8にてBOMとそれが着かないのでやっていたことがあった!
なんでBOMつけるのか?
まじ分からんけど、結局のところどのUTF-8を使うにしても、俺はBOM無しを選んでいます。
Dreamweaverで選択できるところなかったっけBOM有り無しを?
がんばってくれぃ!
投稿者: Steve | 2008年7月17日 23:32
デザインに影響があるってのが困るのだよね。
投稿者: 加藤康祐 | 2008年7月18日 05:51