修改字符集
1 常用命令
SQL语句 | 描述 | 备注 |
show databases | 列出所有数据库 | |
create database 库名 | 创建一个数据库 | |
create database 库名 character set utf8 | 创建数据库,顺便执行字符集为utf-8 | |
show create database 库名 | 查看数据库的字符集 | |
show variables like ‘%char%’ | 查询所有跟字符集相关的信息 | |
set [字符集属性]=utf8 | 设置相应的属性为utf8 | 只是临时修改,当前有效。服务重启后,失效。 |
alter database 库名character set ‘utf8’ | 修改数据库的字符集 | |
alter table 表名convert to character set ‘utf8’ | 修改表的字符集 |
实验SQL:
CREATE database mydb; |
CREATE table mytable(id int,name varchar(30)); |
insert into mytable(id,name) values (1,’jack’); |
insert into mytable(id,name) values (2,’张三’) |
2 字符集乱码原因
如果在建库建表的时候,没有明确指定字符集,则采用默认的字符集latin1,其中是不包含中文字符的。查看默认的编码字符集:

3 永久修改
在/usr/share/mysql/ 中找到my.cnf的配置文件,拷贝其中的my-huge.cnf 到 /etc/ 并命名为my.cnf 。添加以下内容后再重启服务。
注意:必须将文件拷贝到指定路径,且名称为my.cnf
[client]
default-character-set=utf8
[mysqld]
character_set_server=utf8
character_set_client=utf8
collation-server=utf8_general_ci
[mysql]
default-character-set=utf8
再次查看:

注意:已经创建的数据库的设定不会发生变化,参数修改只对新建的数据库有效!
想要了解跟多关于Java培训课程内容欢迎关注尚硅谷Java培训,尚硅谷除了这些技术文章外还有免费的高质量Java培训课程视频供广大学员下载学习
上一篇: 前端培训-Javascript垃圾回收方法
下一篇: Java培训课程MySql之设置大小写不敏感