设为首页收藏本站
查看: 69|回复: 0

[PHP] MySQL如何修改字符集utf8改为utf8mb4_MySQL-mysql教程

[复制链接]

论坛元老

Rank: 6Rank: 6

积分
34274
主题
17031
UID
1347
M币
67
贡献
17176

  • 发表于 2017-5-12 16:11:00 | 显示全部楼层 |阅读模式
    在实行sql server 向 mysql 迁移数据时,报错:  
    Incorrect string value: '\xF0\x9F\x98\x8A'
      
    原因是mysql 采用的是 utf8 的字符集,而该字符集最多占用三个字节,而一些 表情 需要占用 4个字节,所以需要将 utf8 改成 utf8mb4。
      
    原始配置为:
      
       #mysql 5.5 新增参数 character_set_server=utf8 collation_server=utf8_bin  

    我将 character_set_server=utf8 改为:character_set_server=utf8mb4,重启mysql 却报错:
      
    发生系统错误 1067 进程意外终止
    但是查看错误日志,却没有显示是什么错误信息。有倒腾了一会儿,想到是不是 collation_server 也要修改成 utf8mb4_bin,测试的结果果然如此。
      
    所以要注意在将 MySQL字符集 utf8 改为 utf8mb4 时,一定要注意 collation_server 也要同时修改!
      
    干脆将 default-character-set=utf8mb4 也改成了算了。
      
    最后的字符配置如下:
      
       [mysql] default-character-set=utf8mb4 init_cOnnect='set names utf8mb4' [mysqld] character_set_server=utf8mb4 collation_server=utf8mb4_bin   

      
    修改之后,启动成功。
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    在我站开通SVIP可同时获得17个站点VIP资源 立即登录 立即注册
    快速回复 返回顶部 返回列表