① php顯示中文亂碼
php資料庫中文亂碼的解決辦法:1、創建資料庫時,規定字元類型為uft8;2、創建表時,規定字元類型為utf8;3、在PHP的MySQL連接函數中,添加語句「mysql_query("set names 'utf8'")。
② editplus 3.51編寫php文件時,保存為utf-8,打開顯示中文還是亂碼,用notepad++打開,顯示的是ansi編碼
要徹底解決亂碼問題,需要3個地方的編碼一致:
1,資料庫編碼,mysql_query(set names utf8);
2,就是你所說的文件編碼保存要是utf-8;
3,網頁編碼,可以兩種方式設置(1),在html文件中設置<meta http-equiv="content-type" content="type=text/html;charset=utf-8" />
(2),在php文件中設置header("Content-type:text/html;charset=utf-8");
希望對你有所幫組!
③ 又遇到個問題,我用php提交到My SQL裡面的中文顯示亂碼
從你的截圖中看,資料庫明顯是GB2312的。但你的程序是UTF8的,所以會亂碼。
有兩種方法選擇:
1、資料庫改為utf-8的
2、將字元串轉碼為gbk的
mb_convert_encoding($str, 'gbk', 'utf8');
④ PHP 輸出簡單的中文 亂碼問題
解決php中中文亂碼問題方法
php文件本身的編碼與網頁的編碼應匹配
a. 如果欲使用gb2312編碼,那麼php要輸出頭:header(「Content-Type: text/html; charset=gb2312"),靜態頁面添加<metahttp-equiv="Content-Type" content="text/html; charset=gb2312">,所有文件的編碼格式為ANSI,可用記事本打開,另存為選擇編碼為ANSI,覆蓋源文件。
b. 如果欲使用utf-8編碼,那麼php要輸出頭:header(「Content-Type: text/html; charset=utf-8"),靜態頁面添加<metahttp-equiv="Content-Type" content="text/html; charset=utf-8">,所有文件的編碼格式為utf-8。保存為utf-8可能會有點麻煩,一般utf-8文件開頭會有BOM,如果使用session就會出問題,可用editplus來保存,在editplus中,工具->參數選擇->文件->UTF-8簽名,選擇總是刪除,再保存就可以去掉BOM信息了。
php本身不是Unicode的,所有substr之類的函數得改成mb_substr(需要裝mbstring擴展);或者用iconv轉碼。
如果你的HTML文件文件出現了亂碼問題,那麼你可以在head標簽裡面加入UTF8編碼(國際化編碼):UTF-8是沒有國家的編碼,也就是獨立於任何一種語言,任何語言都可以使用的。
(4)php中文返回亂碼擴展閱讀:
解決PHP 輸出簡單的中文 亂碼問題的其他方法:
在php的echo前面加入header("Content-Type:text/html;charset=gb2312")
把<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />中的UTF-8改成gb2312
⑤ 中文url編碼、base64編碼,PHP解碼中文部分亂碼
如果兩端伺服器頁面使用的編碼不一致,就會導致亂碼
如你所說,對方伺服器發來的是GBK編碼的內容,如果你本地PHP用的編碼不是GBK就會是亂碼
2種解決方案:
將頁面編碼更改為GBK(可以通過header('Content-Type:text/html charset=gbk');)
將GBK編碼轉為當期頁面編碼(假設當前頁面是utf-8),可以使用iconv('gbk','utf-8',$content);其中$content是你經過urldecode、base64解碼後的字元串
⑥ 中文url編碼、base64編碼,PHP解碼中文部分亂碼
1. 如果伺服器間的頁面編碼不一致,可能會出現亂碼問題。例如,當對方伺服器發送的是GBK編碼的內容,而本地的PHP編碼不是GBK時,接收到的內容就會出現亂碼。
2. 解決此問題的兩種方法:
- 方法一,將頁面的編碼更改為GBK。這可以通過在PHP中添加header('Content-Type:text/html charset=gbk');來實現。
- 方法二,將GBK編碼的內容轉換為當前頁面的編碼(假設當前頁面編碼為UTF-8)。可以使用iconv函數,將'gbk'轉換為'utf-8',同時傳入經過urldecode和base64解碼後的字元串作為參數。