1 回答
已采納

JustWannaHugU
TA貢獻452條經驗 獲得超796個贊
二.PHP頁面轉UTF-8編碼問題? 1.在代碼開始出加入一行:? header("Content-Type:?text/html;charset=utf-8"); 2.PHP文件編碼問題 點擊編輯器的菜單:“文件”->“另存為”,可以看到當前文件的編碼,確保文件編碼為:UTF-8,? 如果是ANSI,需要將編碼改成:UTF-8。? 3.PHP文件頭BOM問題:? PHP文件一定不可以有BOM標簽? 否則,會出現session不能使用的情況,并有類似的提示:? Warning:?session_start()?[function.session-start]:?Cannot?send?session?cache?limiter?-?headers?already?sent? 這是因為,在執行session_start()?的時候,整個頁面不能有輸出,但是當由于前PHP頁面存在BOM標簽,? PHP把這個BOM標簽當成是輸出了,所以就出錯了!? 所以PHP頁面一定要刪除BOM標簽? 刪除這個BOM標簽的方法:? 1.可以用Dreamweaver打開文件,并重新保存,即可以去除BOM標簽!? 2.可以用EditPlus打開文件,并在菜單“首選項”->“文件”->"UTF-8標識",設置為:“總是刪除簽名”,? 然后保存文件,即可以去除BOM標簽!? 4.PHP以附件形式保存文件的時候,UTF-8編碼問題:? PHP以附件形式保存文件,文件名必須是GB2312編碼,? 否則,如果文件名中有中文的話,將是顯示亂碼:? 如果你的PHP本身是UTF-8編碼格式的文件,? 需要將文件名變量由UTF-8轉成GB2312:? iconv("UTF-8",?"GB2312",?"$filename");? 5.截斷顯示文章標題時,出現亂碼或者“?”問號的問題:? 一般文章標題很長的時候,會顯示一部分標題,會對文章標題進行截斷,? 由于一個UTF-8編碼格式的中文字符會占用3個字符寬度,? 截取標題的時候,有時會只截取到一個中文字符的1個字符或2字符寬度,? 沒截取完整,將出現亂碼或“?”問號的情況,? 用下面的函數截取標題,就不會有問題: function?get_brief_str($str,?$max_length)? {? echo?strlen($str)?."<br>";? if(strlen($str)?>?$max_length)? {? $check_num?=?0;? for($i=0;?$i?<?$max_length;?$i++)? {? if?(ord($str[$i])?>?128)? $check_num++;? }? if($check_num?%?3?==?0)? $str?=?substr($str,?0,?$max_length)."...";? else?if($check_num?%?3?==?1)? $str?=?substr($str,?0,?$max_length?+?2)."...";? else?if($check_num?%?3?==?2)? $str?=?substr($str,?0,?$max_length?+?1)."...";? }? return?$str;? }
- 1 回答
- 0 關注
- 1969 瀏覽
添加回答
舉報
0/150
提交
取消