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

來源:互聯網
上載者:User

亂碼問題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。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.