• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    MySQL字符集utf8修改为utf8mb4的方法步骤

    对于mysql 5.5 而言,如果不设定字符集,mysql默认的字符集是 latin1 拉丁文字符集;

    但随着各种业务的进一步发展,除了各个国家的本身语言字符,经常也会有一些表情符号出现在应用程序中,而在mysql 5.5 之前,UTF-8编码只支持1-3个字节,支持BMP这部分的Unicode编码区;从MySQL 5.5开始,可以支持4个字节UTF编码 utf8mb4 ,一个字符能够支持更多的字符集,也能够支持更多表情符号。

    utf8mb4兼容utf8,且比utf8能表示更多的字符,是utf8字符集的超集。所以现在一些新的业务,比如ISO等,会将MySQL数据库的字符集设置为utf8mb4。

    今天在处理一个应用需求的时候,就遇到这样一个问题:

    当然调整的最好方法是客户端,mysql数据库的字符集都修改为utf8mb4,但这样修改量比较大,而且如果客户端一部分修改为utf8,一部分为utf8mb4的话,容易发生混乱。

    经过几次测试后,MySQL数据库的my.cnf中关于字符集的配置修改为下面的配置了:

    [client] 
    default-character-set=utf8mb4 
     
    [mysqld] 
    character-set-server = utf8mb4 
    collation-server = utf8mb4_unicode_ci 
    init_connect='SET NAMES utf8mb4' 
    skip-character-set-client-handshake = true 
     
    [mysql] 
    default-character-set = utf8mb4 

    使用MySQL字符集时的建议

    • 建立数据库/表和进行数据库操作时尽量显式指出使用的字符集,而不是依赖于MySQL的默认设置,否则MySQL升级时可能带来很大困扰;

    • 数据库和连接字符集都使用latin1时虽然大部分情况下都可以解决乱码问题,但缺点是无法以字符为单位来进行SQL操作,一般情况下将数据库和连接字符集都置为utf8是较好的选择;

    • 使用mysql C API时,初始化数据库句柄后马上用mysql_options设定MYSQL_SET_CHARSET_NAME属性为utf8,这样就不用显式地用 SET NAMES语句指定连接字符集,且用mysql_ping重连断开的长连接时也会把连接字符集重置为utf8;

    • 对于mysql PHP API,一般页面级的PHP程序总运行时间较短,在连接到数据库以后显式用SET NAMES语句设置一次连接字符集即可;但当使用长连接时,请注意保持连接通畅并在断开重连后用SET NAMES语句显式重置连接字符集。

    全面了解mysql中utf8和utf8mb4的区别:https://www.jb51.net/article/90037.htm

    总结

    以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对脚本之家的支持。

    您可能感兴趣的文章:
    • MySQL查看与修改字符集的方法实例教程
    • 如何修改MySQL字符集
    • MAC下修改mysql默认字符集为utf8的方法
    • mysql 启动1067错误及修改字符集重启之后复原无效问题
    • Linux下MySQL 5.5/5.6的修改字符集编码为UTF8的方法
    • MySQL修改默认字符集编码的方法
    • mysql通过my.cnf修改默认字符集为utf-8的方法和注意事项
    • MySql表、字段、库的字符集修改及查看方法
    • mysql修改数据库编码(数据库字符集)和表的字符编码的方法
    • 修改mysql默认字符集的两种方法详细解析
    • mysql字符集和数据库引擎修改方法分享
    • MySQL修改字符集的实战教程
    上一篇:分析一条sql的性能的标准总结
    下一篇:这种sql写法真的会导致索引失效吗
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    MySQL字符集utf8修改为utf8mb4的方法步骤 MySQL,字符集,utf8,修,改为,