php中uft-8中文編碼亂碼的解決方法:先在程式碼開始處加入一行相關程式碼;然後依序點選【檔案-另存為】,確保檔案編碼為【UTF-8】;最後php頁面刪除BOM標籤即可。
php中uft-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");
利用程式來實例字元截取方法
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程式設計從入門到精通
以上是php中uft-8中文編碼亂碼怎麼辦?的詳細內容。更多資訊請關注PHP中文網其他相關文章!