zoukankan      html  css  js  c++  java
  • 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.导入所有数据

  • 相关阅读:
    密码学与安全技术
    分布式系统核心问题
    虚拟机性能监控与故障处理工具
    垃圾收集器与内存分配策略
    Channel
    Buffer
    Reactor
    I/O简介
    HashMap
    装饰者模式
  • 原文地址:https://www.cnblogs.com/Forever77/p/10049442.html
Copyright © 2011-2022 走看看