解決方法:1、在網頁檔案中使用設定UTF-8編碼;2、新建資料庫時設定UTF-8編碼;3、PHP連線資料庫時,使用「mysql_query("set names 'utf8'");」設定資料的字元集為utf-8。
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 'utf8'"); 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讀取mysql中文亂碼怎麼解決?的詳細內容。更多資訊請關注PHP中文網其他相關文章!