mysql字符集问题

字符集是一套文字符号及其编码、比较规则的集合

mysql数据库字符集包括字符集(character)和校对规则(collation),其中字符集定义mysql数据字符串的存储方式,校对规则定义比较字符串的方式。 

常见字符集

长度

说明

Gbk

2

不是国际标准

Utf-8

3

中英文混合建议,目前使用较多

Latin1

1

mysql默认字符集

Utf8mb4

4

Utf-8 unicode 移动互联网

 

如果处理各种各样的文字发布到不同国家地区,应选择utf-8

如果只需支持中文,并且数据量大性能要求高,可选GBK

处理移动互联网,可能需要使用utf8mb4

 

 

字符集总结:

1.客户端设置set names 字符集、mysql命令指定字符集登录(临时修改client、connection和results的结果),可以确保插入后的中文不会出现乱码,但是两种方式都是临时生效,且对设置之前插入的中文无效

2.在mysql的my.cnf配置文件[client]模块下设置default-character-set=字符集,相当于set names 字符集,且永久生效,且无需重启服务,对设置之前插入的中文无效

3.在mysql的my.cnf配置文件[mysqld]模块下设置character-set-server=字符集,重启后生效后,之后创建的数据库和表默认都是这个字符集,对设置之前插入的中文无效

 

修改字符集

alter database 库名 character set 字符集,对数据库中新建的表的字符集进行修改

alter table 表名 character set 字符集,对表中新插入记录的字符集进行修改

对于已有数据的数据库,必须先将数据导出,修改字符集后再进行导入

1.导出建库及建表语句,sed批量修改为对应字符集

2.导出所有mysql数据

3.修改mysql服务端和客户端编码为对应字符集,重启服务

4.删除原有的库、表及数据

5.导入新的建库及建表语句

6.导入所有数据

 

转载于:https://www.cnblogs.com/Forever77/p/10049442.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值