zoukankan      html  css  js  c++  java
  • 六、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的所有数据

  • 相关阅读:
    旧题复习{6}
    CF219D. Choosing Capital for Treeland [树形DP]
    POJ1947 Rebuilding Roads[树形背包]

    洛谷P1280 尼克的任务[DP]
    NOIP2003pj栈[卡特兰数]
    NOIP2001统计单词个数[序列DP]
    洛谷P1415 拆分数列[序列DP 状态 打印]
    POJ2828 Buy Tickets[树状数组第k小值 倒序]
    CF380C. Sereja and Brackets[线段树 区间合并]
  • 原文地址:https://www.cnblogs.com/dangjingwei/p/11439470.html
Copyright © 2011-2022 走看看