phpmyadmin導出的數據庫亂碼
以下介紹遇到中文亂碼時的解決方法。
問題出在 編碼 的問題上。中文網站使用的字符集編碼一般是 gb2312,gbk,utf8 這三種。
由于phpmyadmin默認的字符集是latin1_swedish_ci。與常用的 gb2312,gbk,utf8 不一樣了,所以如果不修改字符集,就會出現亂碼了。
因此,在導出數據庫時,要注意編碼的問題。因為經常使用的字符集是 gbk_chinese_ci ,所以就以 gbk_chinese_ci 為例來說明,如何處理中文亂碼的問題。
首先,在導出數據時,要查看數據表中記錄里的中文能否正常顯示,如果顯示的中文都是 ??? 這樣的問號,那么你就要重新設置語言為你所采用的編碼的數據庫格式,比如的
數據庫的編碼是 gbk_chinese_ci ,數據庫引擎是 MyISAM ,那么必須將phpMyAdmin的 Language (語言)設置為 Chinese simplified (zh-utf-8),而不是 Chinese simplified (zh-gb2312-utf-8)。
同樣,如果你的數據編碼是 gb2312_chinese_ci,那么必須把 Language 設置為 Chinese simplified (zh-gb2312-utf-8),而不是 Chinese simplified (zh-utf-8)。
只有選對了語言,我們在導出sql時才不會出現中文亂碼。
為了檢查導出的sql文件是否正確,可以直接用記事本打開 .sql 文件,查看中文看是否亂碼,如果顯示正常,則說明正確導出了。
在網站遷移,或重新導入sql文件時,一般的 MySQL 字符集: UTF-8 Unicode (utf8) ,不必修改,在導入上述導出的sql腳本時,“文件的字符集”選擇utf8(默認)即可。
注意:在進入任何操作,如插入、查詢等之前,都必須指定字符集,采取的方法是在數據庫連接文件里加一句 : set names 'gbk' ;在網頁顯示時也不會出現亂碼了。總之,你用什么編碼,你就指定什么編碼。
至此,使用PHPmyadmin出現中文亂碼的問題已經解決。