《PHP教程:PHP頁面轉(zhuǎn)UTF-8中文編碼亂碼的解決辦法》要點(diǎn):
本文介紹了PHP教程:PHP頁面轉(zhuǎn)UTF-8中文編碼亂碼的解決辦法,希望對(duì)您有用。如果有疑問,可以聯(lián)系我們。
PHP實(shí)例對(duì)于亂碼這個(gè)問題php開發(fā)者幾乎都會(huì)有碰到過,我們下面主要是介紹了php文件亂碼和頁面亂碼.
PHP實(shí)例PHP頁面轉(zhuǎn)UTF-8編碼問題
1.在代碼開始出加入一行:
header("Content-Type: text/html;charset=utf-8");
2.PHP文件編碼問題
點(diǎn)擊編輯器的菜單:“文件”->“另存為”,可以看到當(dāng)前文件的編碼,確保文件編碼為:UTF-8,
如果是ANSI,需要將編碼改成:UTF-8.
3.PHP文件頭BOM問題:
PHP文件一定不可以有BOM標(biāo)簽
否則,會(huì)出現(xiàn)session不能使用的情況,并有類似的提示:
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent
這是因?yàn)?在執(zhí)行session_start() 的時(shí)候,整個(gè)頁面不能有輸出,但是當(dāng)由于前PHP頁面存在BOM標(biāo)簽,PHP把這個(gè)BOM標(biāo)簽當(dāng)成是輸出了,所以就出錯(cuò)了!
所以PHP頁面一定要?jiǎng)h除BOM標(biāo)簽!!!
刪除這個(gè)BOM標(biāo)簽的辦法:
1).可以用Dreamweaver打開文件,并重新保存,即可以去除BOM標(biāo)簽!
2).可以用EditPlus打開文件,并在菜單“首選項(xiàng)”->“文件”->"UTF-8標(biāo)識(shí)",設(shè)置為:“總是刪除簽名”,
然后保存文件,即可以去除BOM標(biāo)簽!
4.PHP以附件形式保存文件的時(shí)候,UTF-8編碼問題:
PHP以附件形式保存文件,文件名必須是GB2312編碼, 否則,如果文件名中有中文的話,將是顯示亂碼:
如果你的PHP本身是UTF-8編碼格式的文件, 需要將文件名變量由UTF-8轉(zhuǎn)成GB2312:
iconv("UTF-8", "GB2312", "$filename");
利用程序來實(shí)例字符截取辦法
PHP實(shí)例
function utf8_substr($str,$len)
{
for($i=0;$i<$len;$i++)
{
$temp_str=substr($str,0,1);
if(ord($temp_str) > 127){
$i++;
if($i<$len){
$new_str[]=substr($str,0,3);
$str=substr($str,3);
}
}else {
$new_str[]=substr($str,0,1);
$str=substr($str,1);
}
}
return join($new_str);
}
PHP實(shí)例下面一篇文章重點(diǎn)介紹《MYSQL數(shù)據(jù)庫使用UTF-8編碼的問題》,大家不要錯(cuò)過了.
PHP實(shí)例以上就是關(guān)于php中uft-8中文編碼亂碼的解決方法,希望對(duì)大家的學(xué)習(xí)有所幫助.
歡迎參與《PHP教程:PHP頁面轉(zhuǎn)UTF-8中文編碼亂碼的解決辦法》討論,分享您的想法,維易PHP學(xué)院為您提供專業(yè)教程。
轉(zhuǎn)載請注明本頁網(wǎng)址:
http://www.snjht.com/jiaocheng/8564.html