導航:首頁 > 編程語言 > php中文亂碼解決

php中文亂碼解決

發布時間:2024-12-16 05:38:38

① 如何解決php中文亂碼問題

PHP中文亂碼主要是編碼不對,存在以下兩種情況,你以此檢查一下 ,改對編碼就行了

1、 php文件本身的編碼與網頁的編碼應匹配
a. 如果欲使用gb2312編碼,那麼php要輸出頭:header(「Content-Type: text/html; charset=gb2312"),靜態頁面添加<meta http-equiv="Content-Type" content="text/html; charset=gb2312">,所有文件的編碼格式為ANSI,可用記事本打開,另存為選擇編碼為ANSI,覆蓋源文件。

b. 如果欲使用utf-8編碼,那麼php要輸出頭 :header(「Content-Type: text/html; charset=utf-8"),靜態頁面添加<meta http-equiv="Content-Type" content="text/html; charset=utf-8">,所有文件的編碼格式為utf-8。保存為utf-8可能會有點麻煩,一般utf-8文件開頭會有BOM,如果使用 session就會出問題,可用editplus來保存,在editplus中,工具->參數選擇->文件->UTF-8簽名,選擇總 是刪除,再保存就可以去掉BOM信息了。

2. php本身不是Unicode的,所有substr之類的函數得改成mb_substr(需要裝mbstring擴展);或者用iconv轉碼。

② php正則匹配中文亂碼問題

當然亂碼啦,一個漢字在php里是三個字元,你這樣直接用.去匹配任意字元的話,三個.才等於一個漢字。你把一個漢字給截取掉了,當然亂碼了,不信你把你的0,10改成0,11。就不亂碼的,而且只匹配出兩個漢字。漢字不是這樣去匹配的,有專門匹配漢字的正則,

③ 中文url編碼、base64編碼,PHP解碼中文部分亂碼

如果兩端伺服器頁面使用的編碼不一致,就會導致亂碼

如你所說,對方伺服器發來的是GBK編碼的內容,如果你本地PHP用的編碼不是GBK就會是亂碼

2種解決方案:

  1. 將頁面編碼更改為GBK(可以通過header('Content-Type:text/html charset=gbk');)

  2. 將GBK編碼轉為當期頁面編碼(假設當前頁面是utf-8),可以使用iconv('gbk','utf-8',$content);其中$content是你經過urldecode、base64解碼後的字元串

④ php顯示中文亂碼

php資料庫中文亂碼的解決辦法:1、創建資料庫時,規定字元類型為uft8;2、創建表時,規定字元類型為utf8;3、在PHP的MySQL連接函數中,添加語句「mysql_query("set names 'utf8'")。

閱讀全文

與php中文亂碼解決相關的資料

熱點內容
怎麼找回qq解壓密碼 瀏覽:774
51單片機p0口不用電阻行嗎 瀏覽:35
怎樣將照片存到文件夾 瀏覽:887
怎麼用鏡像編譯openwrt 瀏覽:957
有依據的心理解壓的辦法 瀏覽:895
怎麼下載鑄安學習app 瀏覽:476
為什麼解壓神器里的廣告不能看 瀏覽:810
命令與征服打不開 瀏覽:542
資料庫伺服器如何登錄 瀏覽:838
數控編程指令p4是什麼意思 瀏覽:615
java位元組流讀取文件 瀏覽:397
天燚app怎麼總是發簡訊給我 瀏覽:251
php中文亂碼解決 瀏覽:665
seo伺服器有什麼好處 瀏覽:995
eksel表格怎麼加密 瀏覽:260
豹考通這個app怎麼樣 瀏覽:79
linux平台驅動 瀏覽:985
javaphp對比 瀏覽:491
史詩級程序員 瀏覽:501
更改計算機名命令 瀏覽:10