程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> 關於MYSQL數據庫 >> 常見php與mysql中文亂碼問題解決辦法

常見php與mysql中文亂碼問題解決辦法

編輯:關於MYSQL數據庫

亂碼問題1:用PHPmyAdmin操作MySQL數據庫漢字顯示正常,但用PHP網頁顯示MySQL數據時所有漢字都變成了?號。

症狀:用PHPmyAdmin輸入漢字正常,但當PHP網頁顯示MySQL數據時漢字就變成了?號,並且有多少個漢字就有多少個?號。
原因:沒有在PHP網頁中用代碼告訴MySQL該以什麼字符集輸出漢字。
解決方法:

1.網頁文件head設置編碼<meta http-equiv=”Content-Type” content=”text/html; 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編碼,而且在數據庫中也不會有中文亂碼。

亂碼問題2:用PHPmyAdmin輸入數據時發生錯誤,不讓輸入或出現亂碼
解決方法:這是設置問題。請安裝最新版PHPmyAdmin或Appserv,打開PHPmyAdmin,MySQL 字符集: UTF-8 Unicode (utf8); MySQL 連接校對應該為utf8_unicode_ci;創建新的數據庫時整理一欄請也選成utf8_unicode_ci。網頁字符集也最好選用utf-8。utf-8是國際標准編碼,是趨勢。

亂碼問題3: 在本機開發好的MySQL數據表,在本機測試一切正常,但用網站空間商提供的PHPmyAdmin上傳時卻出現問題,上傳失敗。尤其是使用國外PHP空間。 

解決方法:首先查看網站空間商提供的PHPmyAdmin字符集設定,確定自己所建數據表與服務商的是同一編碼。在國外MySQL是不支持gb2312的,甚至最新版的Apache也不支持gb2312。如果是因為編碼不統一,可以重建數據表,當然是用國際標准的UTF8。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved