登录  /  注册
php - 关于`Can't initialize character set XXXX`的解决思路,求指导
PHP中文网
PHP中文网 2017-06-13 09:21:30
[PHP讨论组]

当初拿thinkphp5写了一个项目,为了搞定emoji的问题,数据库字符集用了utf8mb4,在当时的服务器上跑的好好的。最近由于一些原因需要将整个系统转移到新的服务器上。但是当导入原有数据库,系统部署上去之后,试图运行却翻来覆去提示Can't initialize character set utf8mb4。。
我目前已经做过的一些尝试(虽然我现在还没处理好,但是一些思路我觉得其他人是可以借鉴的)

  1. 检查自己php系统数据库连接信息,正常

  2. 检查服务器版本,最开始发现装上的是5.5.2,而支持utf8mb4的mysql版本需求是>=5.5.3,升级之后,问题依旧

  3. 修改my.cnf使utf8mb4变为连接默认字符集(可以参考这篇文章),问题依旧

  4. 尝试服务器端mysql client跑SET NAMES utf8mb4,成功在mysql客户端内运行,但是问题依旧

  5. 尝试修改对应库的字符集,问题依旧(但不得不说我感觉这么做没什么用,提示这个应该是卡在连接上了而不是存取上

我已经做了如上尝试,但是问题还是依旧。不知道大家有什么可以指导的地方?

PHP中文网
PHP中文网

认证高级PHP讲师

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2024 //m.sbmmt.com/ All Rights Reserved | php.cn | 湘ICP备2023035733号