首頁 >後端開發 >PHP問題 >php讀取mysql中文亂碼怎麼解決?

php讀取mysql中文亂碼怎麼解決?

青灯夜游
青灯夜游原創
2020-07-16 14:43:453397瀏覽

解決方法:1、在網頁檔案中使用設定UTF-8編碼;2、新建資料庫時設定UTF-8編碼;3、PHP連線資料庫時,使用「mysql_query("set names 'utf8'");」設定資料的字元集為utf-8。

php讀取mysql中文亂碼怎麼解決?

MySQL對中文的支援程度還是很有限的,尤其是新手,但凡出現亂碼問題,就會頭大。

亂碼問題:

用PHPmyAdmin操作MySQL資料庫漢字顯示正常,但用PHP網頁顯示MySQL資料時所有漢字都變成了?號。

症狀:用PHPmyAdmin輸入漢字正常,但當PHP網頁顯示MySQL資料時漢字就變成了?號,並且有多少個漢字就有多少個?號。

原因:沒有在PHP網頁中用程式碼告訴MySQL該以什麼字元集輸出漢字。

解決方法:

1、網頁檔案head設定編碼

<meta charset="UTF-8">

2、PHP頁面在儲存的時候使用utf-8編碼儲存,可以用記事本或convertz802轉換檔案

3、在MYSQL中新建資料庫的時候,資料庫選擇UTF-8編碼,既字元集設定為utf-8_unicode_ci(Unicode (多語言),不區分大小寫),

庫裡面表table的整理設定為utf-8_general_ci

表格裡面的每個欄位的整理都設定為utf-8_general_ci

4、在PHP連接資料庫的時候,也就是mysql_connect()之後加入

//设置数据的字符集utf-8
mysql_query("set names &#39;utf8&#39;");
mysql_query("set character_set_client=utf8");
mysql_query("set character_set_results=utf8");

注意是utf8,不是utf-8 。

如果你的網頁編碼是gb2312,那就是 SET NAMES GB2312。但編輯強烈建議網頁編碼、MySQL資料表字元集、PHPmyAdmin都統一使用UTF-8。

以上四點即可實現全站utf-8編碼,而且在資料庫中也不會有中文亂碼。

拓展:

亂碼問題:用PHPmyAdmin輸入資料時發生錯誤,不讓輸入或出現亂碼

##解決方法:這是設定問題。請安裝最新版PHPmyAdmin或Appserv,開啟PHPmyAdmin,MySQL 字元集: UTF-8 Unicode (utf8); MySQL 連接校對應該為utf8_unicode_ci;建立新的資料庫時整理一欄請也選成utf8_unicode_ci。

網頁字元集也最好選用utf-8。 utf-8是國際標準編碼,是趨勢。

相關推薦:

PHP教學

以上是php讀取mysql中文亂碼怎麼解決?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn