(1)設置當前字符集
set names gbk
(2)修改單個字符集參數
使用命令show variables like 'char%',查看所有字符集變量。
+--------------------------+----------------------------------------+
| Variable_name | Value |
+--------------------------+----------------------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | latin1 |
| character_set_system | utf8 |
| character_sets_dir | D:\mysql-5.6.25-winx64\share\charsets\ |
+--------------------------+----------------------------------------+
修改單個字符集:
set character_set_results=gbk
注意:該方法設置的參數在服務器重啟後失效。
導出全表:
mysqldump -uroot -p [databasename] --table [tablename]
只導出表結構:
mysqldump -uroot -p [databasename] --table [tablename] -d
經測試,在控制台環境,導出表結構時,無論怎麼設置--default-character-set參數,均無法正常顯示字段注釋中的中文,命令如下:
mysqldump -uroot -p --default-character-set=gbk test --table t_data
但表數據中的中文可以正常顯示(通過設置--default-character-set=gbk)。
但是,若導出為文件,則可以正常顯示,命令示例如下:
mysqldump -uroot -p --default-character-set=gbk mydb --table t_data -d > t_data.sql
有趣的是,不管--default-character-set設置為何值(gbk,utf8,latin1)均能正常顯示,在控制台顯示亂碼和控制台本身有一定的關系。
在控制台環境,表結構中的中文字段注釋總是不能正常顯示,使用管道輸出到文件,則總能正常顯示(使用UltraEdit打開)。
表數據中必須通過參數設置--default-character-set=gbk來控制正常輸出中文,包括控制台顯示或用管道輸出到文件。
也就是說--default-character-set=gbk 僅對表數據的編碼處理生效,對表結構字段注釋中的中文無效。
參考:
1、查看創建表使用的字符集:
show create table [tableName]
2、查看表字段使用的字符集:
show full columns from [tableName]
3、查看表
show tables;
4、查看表信息
desc [tablename]
5、查看數據庫
show databases;
6、查看數據庫信息show create database test;