六、linux-mysql的mysql字符集问题

一、什么是字符集?

       字符集是用来定义mysql数据字符串的存储方式,而校对规则则是定义比较字符串的方式。mysql字符集包含字符集和校对规则。

二、字符集的选择

      常见的字符集中,中英混合环境建议用UTF-8
      如果只需要支持中文,而且数据量很大,性能要求很高,可选择GBK

三、查看当前mysql的字符集语句

        show  variables like 'character_set%';

       

     

四、mysql修改字符集

     临时修改字符集:

    1. 在执行DQL,DML语句之前 set  name  latin1  系统及库表的字符集--临时修改客户端字符集  

    2.  mysql -uroot -p'oldboy124' --default-character-set=latin1  oldboy

 这两种方式可以通过文件的形式进行,在DQL或者DML之前,首先进行字符集的调整。

    永久方式修改字符集:

   1. 在my.cnf 配置文件中设置客户端和服务端相关参数default-character-set=latin1,character-set-server=latin1

   2.也可以通过语句修改字符集:alter database character set ""或者  alter table tablename  character set "" 修改库语句字符集,但是已有字符集是没办法修改的,必须导出修改

五、不乱码的解决:

    不乱码的思想:   linux系统 (/etc/sysconfig/i18n) 、客户端、服务端、库、表、程序,都是同一个字符集,数据库的实施等

综上,修改字符集的方法:   

例子:latin1--->utf8
1.建库及建表的语句导出,sed批量修改utf8
2.导出所有mysql数据
3.修改mysql服务端和客户端编码为utf8
4.删除原有的库表及数据
5.导入新的建库及建表的语句
6.导入mysql的所有数据

 

转载于:https://www.cnblogs.com/dangjingwei/p/11439470.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值