在PHP腳本中讀出中文或者其他語言文字為亂碼的時候,首先檢查你的文件格式是不是用UTF8的編碼格式保存的。如果不是請用UltraEdit...等一些對UTF8支持轉換的工具轉換一下,最好不要用MS的記事本直接另存為轉換,我開始的時候就是犯了這樣一個錯誤。如果你是在 Dreamweaver 中編輯請按照:編輯---》首選參數---》新建文檔 把語言設置為UTF8編碼.
關於SESSION驗證問題:一開始我的文檔都是用GB2312編寫的,後來有一個網站需要用UTF-8的編碼,我就把我的一些文件用MS的記事本打開後,另存為UTF-8編碼了,沒想到他會在腳本程序的文件頭加上一句簽名(BOM)所以我直接轉換了得出的結果就是錯誤了:Cannot send session cookie - headers already sent by...
郁悶地調試了好久才找出三種解決辦法:
第一種是就如剛才所說的,把源來的文件用Dreamweaver 或UltraEdit...等一些對UTF8支持轉換的工具轉換一下,這是最根本的解決辦法;
第二種是在session_start()函數前面 加了一個“@”
第三種是在打開phpinfo(),看看Output_buffering這個參數是否為no value ,是的話設置成 1