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 關注
- 2003 瀏覽
添加回答
舉報
0/150
提交
取消
