MySQL亂碼問題解決步驟詳解
阿新 • • 發佈:2018-11-23
在工作學習中遇到出現中文亂碼是一件非常讓人頭疼的一件事,我也深受其害,在這裡我整理了一下在使用mysql時候出現亂碼的解決步驟,大家共同學習,共同進步。
一、確認各環節的字符集
首先來確定一下各個環節的字符集是否一致,字符集不一致導致的亂碼問題最為常見。
1. 確認當前Xshell連線linux的繪畫所使用的字符集型別
2. 確認當前linux系統的字符集
# locale:檢視當前系統的字符集 # locale -a:檢視系統全部可用的字符集 # locale -a | grep zh_CN:檢視中文型別的字符集 和字符集相關的變數:LANG # echo $LANG 臨時修改linux字符集 # export LANG=zh_CN.utf8 永久修改linux字符集 (1) echo "export LANG=zh_CN.utf8" > ~/.bashrc (2) CentOS7修改檔案 /etc/locale.conf CentOS6修改檔案 /etc/sysconfig/i18n
3. 確認和mysql相關的字符集
mysql> status <<<檢視各種字符集資訊 Server characterset: utf8 Db characterset: utf8 Client characterset: utf8 Conn. characterset: utf8 #檢視建立表tb2的時候所使用的字符集 mysql> show create table tb2\G #檢視建立庫db2的時候所使用的字符集 mysql> show create database db2\G #修改mysql server字符集型別 在my.cnf中的mysqld段新增 character-set-server = utf8 修改一個表的字符集 ALTER TABLE tb1 CONVERT TO CHARACTER SET ;
二、修改一個數據庫的字符集
修改資料庫的字符集我一般是先將這個資料庫中的內容備份出來,然後新建一個數據庫,顯得資料庫使用期望使用的字符集型別,最後將備份資料匯入到這個新的資料庫中。
1. 備份原有資料
# mysqldump --default-character-set=gbk -uroot -p123 -B db4 --tables tb4>/home/old.sql
【可以用vim檢視其中是否有亂碼】
2. 修改備份檔案中的資料字符集型別
# iconv -t utf-8 -f gbk -c /home/old.sql >/home/new.sql 【可以用vim檢視其中是否有亂碼】
3. 用新的字符集仙劍一個數據庫,並將備份檔案匯入進去
mysql> create database db5 character set utf8;
# mysql -uroot -p123 db5</home/new.sql
------做運維之前很矯情的小年輕-----