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

时间:2019-08-31
本文章向大家介绍六、linux-mysql的mysql字符集问题,主要包括六、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