|
在php腳本中讀出中文或者其他語(yǔ)言文字為亂碼的時(shí)候,首先檢查你的文件格式是不是用UTF8的編碼格式保存的。如果不是請(qǐng)用UltraEdit...等一些對(duì)UTF8支持轉(zhuǎn)換的工具轉(zhuǎn)換一下,最好不要用MS的記事本直接另存為轉(zhuǎn)換,我開(kāi)始的時(shí)候就是犯了這樣一個(gè)錯(cuò)誤。如果你是在 Dreamweaver 中編輯請(qǐng)按照:編輯---》首選參數(shù)---》新建文檔 把語(yǔ)言設(shè)置為UTF8編碼.
關(guān)于SESSION驗(yàn)證問(wèn)題:一開(kāi)始我的文檔都是用GB2312編寫(xiě)的,后來(lái)有一個(gè)網(wǎng)站需要用UTF-8的編碼,我就把我的一些文件用MS的記事本打開(kāi)后,另存為UTF-8編碼了,沒(méi)想到他會(huì)在腳本程序的文件頭加上一句簽名(BOM)所以我直接轉(zhuǎn)換了得出的結(jié)果就是錯(cuò)誤了:Cannot send session cookie - headers already sent by...
郁悶地調(diào)試了好久才找出三種解決辦法:
第一種是就如剛才所說(shuō)的,把源來(lái)的文件用Dreamweaver 或UltraEdit...等一些對(duì)UTF8支持轉(zhuǎn)換的工具轉(zhuǎn)換一下,這是最根本的解決辦法;
第二種是在session_start()函數(shù)前面 加了一個(gè)“@”
第三種是在打開(kāi)phpinfo(),看看Output_buffering這個(gè)參數(shù)是否為no value ,是的話設(shè)置成 1
php技術(shù):PHP 出現(xiàn)亂碼和Sessions驗(yàn)證問(wèn)題的解決方法!,轉(zhuǎn)載需保留來(lái)源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。