解決php中中文亂碼問題方法
創(chuàng)新互聯(lián)建站是一家專業(yè)提供普陀企業(yè)網(wǎng)站建設,專注與成都網(wǎng)站制作、網(wǎng)站設計、HTML5建站、小程序制作等業(yè)務。10年已為普陀眾多企業(yè)、政府機構等服務。創(chuàng)新互聯(lián)專業(yè)網(wǎng)站制作公司優(yōu)惠進行中。
php文件本身的編碼與網(wǎng)頁的編碼應匹配
a. 如果欲使用gb2312編碼,那么php要輸出頭:header(“Content-Type: text/html; charset=gb2312"),靜態(tài)頁面添加meta?http-equiv="Content-Type" content="text/html; charset=gb2312",所有文件的編碼格式為ANSI,可用記事本打開,另存為選擇編碼為ANSI,覆蓋源文件。
b. 如果欲使用utf-8編碼,那么php要輸出頭:header(“Content-Type: text/html; charset=utf-8"),靜態(tài)頁面添加meta?http-equiv="Content-Type" content="text/html; charset=utf-8",所有文件的編碼格式為utf-8。保存為utf-8可能會有點麻煩,一般utf-8文件開頭會有BOM,如果使用session就會出問題,可用editplus來保存,在editplus中,工具-參數(shù)選擇-文件-UTF-8簽名,選擇總是刪除,再保存就可以去掉BOM信息了。
php本身不是Unicode的,所有substr之類的函數(shù)得改成mb_substr(需要裝mbstring擴展);或者用iconv轉碼。
如果你的HTML文件文件出現(xiàn)了亂碼問題,那么你可以在head標簽里面加入UTF8編碼(國際化編碼):UTF-8是沒有國家的編碼,也就是獨立于任何一種語言,任何語言都可以使用的。
擴展資料:
解決PHP 輸出簡單的中文 亂碼問題的其他方法:
在php的echo前面加入header("Content-Type:text/html;charset=gb2312")
把meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /中的UTF-8改成gb2312
參考資料:
百度百科-PHP
返回亂碼需要在PHP文件中設置下字符集,在代碼開始前寫上這一句header('Content-type: text/html; charset=utf-8');
如果是數(shù)據(jù)庫查詢出現(xiàn)亂碼,那么在數(shù)據(jù)庫連接的時候也要設置字符集,mysqli_set_charset(數(shù)據(jù)庫連接,'utf8');
可能是編碼問題,可以使用mb_convert_encoding轉換編碼或者iconv
string?iconv?(?string?$in_charset?,?string?$out_charset?,?string?$str?)
string?mb_convert_encoding?(?string?$str?,?string?$to_encoding?[,?mixed?$from_encoding?=?mb_internal_encoding()?]?)
1、在test.php文件內(nèi),使用header設置test.php執(zhí)行的編碼為utf8,避免輸出中文的時候出現(xiàn)亂碼。
2、在test.php文件內(nèi),創(chuàng)建一個測試的數(shù)組,例如,定義一個分類的數(shù)組,其對應的索引值分別為0,4,8。
3、在test.php文件內(nèi),使用array_values()方法將上一步的數(shù)據(jù)重新排序,并且從0開始,把重新排序的數(shù)組保存在$result變量中。
4、在test.php文件內(nèi),使用foreach方法遍歷數(shù)組,其中$k為索引值,$v為索引值對應的數(shù)組值。
5、在test.php文件內(nèi),使用echo方法輸出數(shù)組中的索引值和對應的數(shù)組值即可。