UTF-8 と UTF-8N

Posted by muchag | PHP | 2008-05-09 (金) 21:55:45

経緯

以前作った Shift-JIS サイトを utf-8 に変換してみたら

  1. Cannot send session cache limiter - headers already sent

という Warning が出た。

headers already sent というのは、以前引っかかった

  1. session_start();

より先に余計な項目を置いているとアカンってやつだ。

でも、今回はそんなことはしていない。。。
そこでまたしてもグググググっと。。。。

すると、あった。。。

UTF-8 の罠

Windowsのメモ帳などでUTF-8で保存すると、ソースの最初にBOM (EF BB BFの3バイト)が
挿入されてしまうので、PHPから既にデータが出力された状態になっています。
使用しているエディタで最初にBOMを付けないUTF-8Nで保存する設定にできれば
UTF-8Nにしてください。不可能な場合はSJISでやってみるといいと思います。

引用元:YAHOO! JAPAN 知恵袋 PHPのセッションについて教えてください!!

解決方法

試しに、TeraPad で、UTF-8N で保存し直して UL してみると、解決。

最初は、以前のバージョンの DW で作成したファイルを、TeraPad で UTF-8 で保存したわけだが、
これではアカンらしい。。。

PHP | 2008-05-09 (金) 21:55:45 |

コメントはまだありません »

No comments yet.

RSS feed for comments on this post. TrackBack URI

Leave a comment