共計 1299 個字符,預計需要花費 4 分鐘才能閱讀完成。
自動寫代碼機器人,免費開通
這篇文章給大家分享的是有關如何解決 phpmyadmin 導出 sql 文件亂碼的問題的內容。丸趣 TV 小編覺得挺實用的,因此分享給大家做個參考,一起跟隨丸趣 TV 小編過來看看吧。
phpmyadmin 導出 sql 文件亂碼怎么辦?
phpMyAdmin 版本是 2.9.1.1
用 phpMyAdmin 備份數據庫,導出來后,在本地用 sqlyog 還原的時候,出現如下錯誤:
Error occured at:2009-03-03 10:09:43
Line no.:11154
Error Code: 1062 - Duplicate entry ?????? for key 2
打開 sql 文件看了下,會員表下的會員用戶名是亂碼,全都是類似于???,???? 的,因為現在很多程序都支持中文用戶名了,而用戶名又是唯一的,中文用戶名變成亂碼后,就出現很多相同的用戶名,而我們導入這些出現亂碼的數據時,前面已經有?????? 這個用戶名了,所以下面出現第二個就報錯了
如果有系統的控制權,可以用如下命令導出數據,就不會出現亂碼,還原時是正常的
mysqldump -uroot -p --default-character-set=utf8 --set-charset --skip-opt dbname newdbname.sql
但現在只能用 phpMyAdmin 導出,測試了好久,發現如果 phpMyAdmin 的 Language 為 中文 -chinese simplified-gb2312 時,導出來的 sql 文件是 gb2312 的,某些表里有中文,中文為亂碼,當 phpMyAdmin 的 Laguage 為 中文 -chinese simplified(也就是 utf8)時,導出來的 sql 文件字符集是 utf8 的 (用 Notepad++ 查看格式,顯示是 UTF- 8 無 BOM 格式編碼),表里的中文可以正常顯示
所以,為避免導出來的文件里中文是亂碼,可以從 Language 下拉菜單中,選擇中文 -chinese simplified,然后再選擇導出,下載回來的 sql 文件中的中文就可以正常顯示了。
用如下命令還原
mysql -uroot -p --default-character-set=utf8 newdbname newdbname.sql
本來想把 phpMyAdmin 的默認 Language 修改為“中文 -chinese simplified,但試過修改 config.inc.php 和 libraries 目錄下的 config.default.php 都沒有用,沒關系了,畢竟不同人選擇數據庫的編碼都不一樣的,總是有人要重新選擇一下語言,還是讓它默認是“中文 -chinese simplified-gb2312”吧!
猜測另外一種解決辦法是,導出來的文件編碼是 gb2312,所以可以考慮將 gb2312 轉換為 utf8. 此方法試驗中。
感謝各位的閱讀!關于“如何解決 phpmyadmin 導出 sql 文件亂碼的問題”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
向 AI 問一下細節