如果欲使用gb2312編碼,那麼php要輸出頭:
header(“Content-Type: text/html; charset=gb2312")
靜態頁面新增(建議學習: PHP程式設計從入門到精通)
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
所有檔案的編碼格式為ANSI,可用記事本打開,另存為選擇編碼為ANSI,覆蓋來源檔案。
如果要使用utf-8編碼,那麼php要輸出頭:
header(“Content-Type: text/html; charset=utf-8")
靜態頁面新增
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
所有檔案的編碼格式為utf-8。
最近需要用到iconv函數把抓取來過的utf-8編碼的頁面轉成gb2312, 發現只有用iconv函數把抓取過來的資料一轉碼資料就會無緣無故的少一些。
讓我鬱悶了好一會兒,去網路上一查資料才知道這是iconv函數的一個bug。 iconv在轉換字元"—"到gb2312時會出錯。
解決方法很簡單,就是在需要轉成的編碼後加上"//IGNORE" 也就是iconv函數第二個參數後,如下:
iconv("UTF-8","GB2312//IGNORE",$data)
ignore的意思是忽略轉換時的錯誤,如果沒有ignore參數,所有該字元後面的字串都無法被儲存。
在php mvc的控制器裡面或php頁面
echo '<meta http-equiv="content-type" content="text/html; charset=utf-8">';
在php頁面或html頁面
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
使用header函數
在控制器或頁裡面
header("content-type:text/html; charset=utf-8");
以上是php如何設定編碼格式的詳細內容。更多資訊請關注PHP中文網其他相關文章!