溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

如何解決php中uft-8中文編碼亂碼的問題

發(fā)布時(shí)間:2020-07-21 14:34:19 來源:億速云 閱讀:196 作者:Leah 欄目:編程語言

如何解決php中uft-8中文編碼亂碼的問題?很多新手對此不是很清楚,為了幫助大家解決這個(gè)難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來學(xué)習(xí)下,希望你能有所收獲。

php中uft-8中文編碼亂碼的解決辦法:首先在代碼開始處加入一行相關(guān)代碼;然后依次點(diǎn)擊【文件-另存為】,確保文件編碼為【UTF-8】;最后php頁面刪除BOM標(biāo)簽即可。

php中uft-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í)例字符截取方法

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


看完上述內(nèi)容是否對您有幫助呢?如果還想對相關(guān)知識(shí)有進(jìn)一步的了解或閱讀更多相關(guān)文章,請關(guān)注億速云行業(yè)資訊頻道,感謝您對億速云的支持。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI