PHP顯示MySQL亂碼問題1. 用PHPmyAdmin操作MySQL數據庫漢字顯示正常 ,但用PHP網頁顯示MySQL數據時所有漢字都變成了?號。
症狀:用PHPmyAdmin輸入漢字正常,但當PHP網頁顯示MySQL數據時漢字就變成了?號,並且有多少個漢字就有多少個?號。很多學員都遇到了此問題,尤其是在安裝了最新版的Appserv後。為此許多學員放棄了PHP,改學ASP了。
原因:沒有在PHP網頁中用代碼告訴MySQL該以什麼字符集輸出漢字。
★ PHP顯示MySQL亂碼解決方法:這不是亂碼,只要在PHP網頁頭部加入以下一段代碼告訴MySQL以UTF8編碼輸出漢字即可
- < ? mysql_query("SET NAMES UTF8"); ?>
- 你也可以在網頁中PHP代碼部分直接插入上述代碼片段(即去掉兩端< ??>號)。例如你用Dreamweaver連接數據庫,那麼可以在頭部的連接代碼
- < ?php require_once('Connections/connmessage.php'); ?>中加入該代碼使其變成
- < ?
- php require_once('Connections/connmessage.php');
- mysql_query("SET NAMES UTF8");
- ?>
注意:如果你的網頁編碼是gb2312,那就是 SET NAMES GB2312。但編輯員強烈推薦網頁編碼、MySQL數據表字符集、PHPmyAdmin都統一使用UTF8。原因請見本站PHP教程第一章第2節。
PHP顯示MySQL亂碼問題2. 用PHPmyAdmin輸入數據時發生錯誤,不讓輸入或出現亂碼
★ PHP顯示MySQL亂碼解決方法:這是設置問題。請安裝最新版PHPmyAdmin或Appserv,打開PHPmyAdmin,MySQL 字符集: UTF-8 Unicode (utf8); MySQL 連接校對應該為utf8_unicode_ci;創建新的數據庫時整理一欄請也選成utf8_unicode_ci。網頁字符集也最好選用utf8。utf8是國際標准編碼,是趨勢。怎樣更改網頁編碼請看本站PHP教程第一章第2節。
PHP顯示MySQL亂碼問題3. 在本機開發好的MySQL數據表,在本機測試一切正常,但用網站空間商提供的PHPmyAdmin上傳時卻出現問題,上傳失敗。尤其是使用國外PHP空間。
★ PHP顯示MySQL亂碼解決方法:首先查看網站空間商提供的PHPmyAdmin字符集設定,確定自己所建數據表與空間是同一編碼。在國外MySQL是不支持gb2312的,甚至最新版的Appserv也不支持gb2312。如果是因為編碼不統一,可以重建數據表,當然是用國際標准的UTF8。