mysql的字符集

mysql字符集主要分两种,一种就是普通的字符集,另外一种是比较字符集,主要是做联表查询时,多个表之前的字段比较时会用到,如果多个表之间的比较字符集不一致时,做比较会报错。并且字符集与比较字符集是一对多的关系,也就是每一种字符集都会对应多个比较字符集,而且每一种字符集都会有一种默认的比较字符集。mysql的字符集默认是latin1,并不是和系统的字符集一样,这一点切记。所以在安装mysql时以及在新建库,表时一定要指定字符集和比较字符集。如果没有指定比较字符集,会默认使用指定字符集的默认比较字符集。可以通过show character set;查看mysql支持的所有字符集。

mysql的字符集非常灵活,服务器端的字符集主要分四个等级,服务器,库,表,字段。服务器的字符集需要修改my.cnf配置文件,5.5以上的版本在[mysqld]下面添加character-set-server=utf8,注意这里不是utf-8。顺便说一句,默认的配置文件并不在/etc/下面,而是在安装目录下面,但是修改安装目录下面的配置文件并不会生效,所以要将配置文件复制到/etc/下面再修改,修改完一定要重启mysql,才会生效。而对于库和表的字符,在建新库或者新表时指定即可,或者是使用alter table/database语句。注意:在表建成功后,如果要修改字符集,并不会对已有的数据进行格式转化,只会对新插入的数据应用新的数据集。可以通过show variables like 'character%';查看当前设置的字符集,show variables like 'collation%'; 查看当前设置的比较集。而对于列的字符集,一般不会去设置,也就不说了。

除了上面说的服务器端的字符集外,还有就是连接时的字符集,主要是三个参数:character_set_client, character_set_connection, character_set_results,分别表示客户端,连接,返回结果的字符集。可以使用命令set names utf8;来统一设置这三个参数,或者是修改配置文件,在[mysql]下面添加default-character-set=utf8,这里是[mysql]没有d,有d的表示是服务器端的配置。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值