转 mysql 5.7版本修改编码为utf-8
刚开始学习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;