關於mysql數據庫存儲中文亂碼的問題

前提 : 1數據庫和表都是utf8_general_ci格式 2程序代碼也是utf-8格式,且使用了mysql_query("set names utf-8"); 及 htmlentities ENT_QUOTES,'utf-8'php

結果: 即便是這樣 插入數據庫漢字仍然在數據庫中看到的是亂碼,可是頁面上顯示的好的。html

緣由及解決方法: 緣由多是mysql在安裝的時候的設置不對。 解決方法,你沒法改變供應商從新安裝mysql的話,只能接受這樣的事實。就讓它亂碼吧, 須要導出數據的話能夠本身手寫代碼用csv或者xls導出。mysql

實際上後來發現如下解決方案,sql

phpmyadmin裏MySQL字符集:cp1252 West European (latin1) ,解決亂碼問題 使用虛擬主機空間上的phpmyadmin操做數據庫的時候,若是看到phpmyadmin首頁上顯示的MySQL 字符集爲cp1252 West European (latin1),當咱們導入數據時就會出現亂碼,解決的方法是:數據庫

在phpmyadmin首頁的右邊有個Language選項,把默認的中文 - Chinese simplified-gb2312改爲 中文 - Chinese simplified,則左邊的MySQL 字符集會變成UTF-8 Unicode (utf8) ,亂碼問題獲得解決!編碼

若是數據庫編碼沒有問題,則 確保全部頁面都是 utf-8 無BOM 另外在調用頁面 mysql_query 前也 寫入 mysql_query("set names utf8") 就能夠保證無亂碼code

相關文章
相關標籤/搜索