亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

php 如何處理亂碼

php 如何處理亂碼

PHP
xiemioc 2016-09-13 10:16:31
查看完整描述

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;?
}


查看完整回答
反對 回復 2016-09-13
  • 1 回答
  • 0 關注
  • 1969 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號