WINDOWS
1、MySQL是有一些環境變數可以設定,
可輸入:show variables;可查看當前的環境變數設定;
2、這些變數當中有一部分與字元相關的設定,
可輸入:show variables like ´character%´;查看;
3、其中character_set_results決定返回結果的編碼,
windows下設為gb2312即可正常顯示中文;
設定方法:set character_set_results=gb2312;,然後斷行符號即可;
4、當然,如果想通過命令提示行視窗來輸入中文修改資料庫內容,
則可以試試設定set character_set_connection=gb2312;
以及set character_set_client=gb2312;
說明:
以上在命令提示行視窗中設定的值,
其有效期間僅僅為本次串連有效,
即斷開本次串連之後,
重新串連進來,
所有所設定的變數又恢複到預設的值了。
ubuntu9.0.4 mysql亂碼解決辦法
作業系統環境:
ubuntu9.0.4、MySql5.1(通過sudo apt-get install mysql5.1安裝)
現象:
在終端
1.mysql -uroot -proot 進入mysql用戶端
2.use parking 選中一個資料庫
3.select *from users 選擇一個使用者表
裡面中文欄位顯示為???
4.使用語句show variables like 'character%'
則會顯示有幾個選項為latin的,並不是utf8
解決步驟:
1. 找到mysql的設定檔
mysql的設定檔就是/etc/init.d/mysql/my.cnf。(如果不是ubuntu9.0.4,這個檔案並不一定存在,由於你可能採取的MySQL安裝方式跟網上所說的不一樣,就不一定能夠找得到/etc/init.d/mysql/my.cnf。因此,你需要使用find命令尋找cnf檔案。記得不要去找my.cnf因為它不一定存在,而應該找*.cnf。
2.修改前應該備份一下cp /etc/init.d/mysql/my.cnf /etc/my.cnf.bak
開啟my.cnf修改編碼
# sudo vi /etc/init.d/mysql/my.cnf
在[mysqld]下添加
default-character-set=utf8
在[client]下添加
default-character-set=utf8
3. 重啟mysql
根據你安裝mysql的方式的不同,採用不用的命令來重啟你的mysql。如果你配置過使用mysqld自啟動方式,可以執行
cd /usr/bin/
mysqladmin -uroot -proot shutdownmysqld_safe & (如果許可權不夠的話就執行 sudo mysql_safe &)
4.使用語句show variables like 'character%'
則會只有一個是latin,其餘的是utf8
更改 windows 下 cmd(dos) 編碼方式 將其改為UTF-8
chcp 命令,
chcp 65001 就是換成UTF-8字碼頁
chcp 936 可以換回預設的GBK
chcp 437 是美國英語備忘:個人測試CMD下修改編碼不能解決MYSQL亂碼