剛開始學習MySQL,下載的是官網最新版本 5..7.14,使用cmd輸入中文時報錯,於是開始修改mysql默認編碼(windows下)
首先通過 show variables like 'character_set_%';查看mysql字符集情
默認編碼為 latin1
然后關閉數據庫
在mysql安裝目錄下找到my.ini文件
在其中添加
[client]
default-character-set=utf8
在[mysqld]下添加
character-set-server=utf8
重啟mysql
就能將mysql數據庫默認編碼改為utf-8
網上很多資源都是在[mysqld]下添加
default-character-set=utf8
如果這樣改會導致5.7版本mysql無法打開
所以要改為
character-set-server=utf8
改完后,要刪除數據庫中所有數據,才能使用。
sample is as flows:
my.ini
[mysql]
default-character-set = utf8
[mysqld]
character-set-server = utf8
[client]
default-character-set = utf8
轉
http://blog.csdn.net/hustwht/article/details/52460879
https://www.cnblogs.com/yangmingxianshen/p/7999428.html
一、查看字符集
1.查看MYSQL數據庫服務器和數據庫字符集
方法一:show variables like '%character%';
方法二:show variables like 'collation%';

mysql> show variables like '%character%'; +--------------------------+--------------------------------------+ | 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 | utf8 | | character_set_system | utf8 | | character_sets_dir | /usr/local/mysql5535/share/charsets/ | +--------------------------+--------------------------------------+ 8 rows in set (0.00 sec)

2.查看MYSQL所支持的字符集
show charset;

3.查看庫的字符集
語法:show database status from 庫名 like 表名;

mysql> show create database shiyan\G *************************** 1. row *************************** Database: shiyan Create Database: CREATE DATABASE `shiyan` /*!40100 DEFAULT CHARACTER SET gbk */ 1 row in set (0.00 sec)
4.查看表的字符集
語法:show table status from 庫名 like 表名;
mysql> show table status from class_7 like 'test_info';

5.查看表中所有列的字符集
語法:show full columns from 表名;
mysql> show full columns from test_info;

二、設置字符集
設置字符集一般有兩種方法,一種是在創建表的時候設置字符集,另一種是表建成之后修改字符集。
1.創建時指定字符集
創建庫的時候指定字符集:
語法:create database 庫名 default character set=字符集;
create database db2 default character set=utf8
創建表的時候指定字符集:
語法:create table 表名(屬性)default character set = 字符集;
mysql> create table test1(id int(6),name char(10)) default character set = 'gbk'; Query OK, 0 rows affected (0.39 sec)
2.修改字符集
修改全局字符集

修改庫的字符集
語法:alter database 庫名 default character set 字符集;
alter database shiyan default character set gbk;

修改表的字符集
語法:alter table 表名 convert to character set 字符集;
alter table test1 convert to character set utf8;

修改字段的字符集
語法:alter table 表名 modify 字段名 字段屬性 character set gbk;
alter table test1 modify name char(10) character set gbk;
