开发者社区> 问答> 正文

关于php7 设计链接mysqlutf8mb4字符集的问题

[font=&]通过epel源安装php7后链接数据库直接提示: Unable to set client connection character set: utf8mb4
[font=&]

[font=&]直接使用sql语句设置字符集则没有问题: SET NAMES 'utf8mb4';


诸位有遇到过这种情况吗?

展开
收起
辰锦科技 2016-07-04 18:20:12 6181 0
2 条回答
写回答
取消 提交回答
  • 回 1楼dongshan8的帖子
    使用的是 codeigniter3, 给我的感觉不像是什么很严重的问题, 倒像是那里没设置好, 但是就是具体不知道是怎么回事, o(╯□╰)o

    -------------------------

    回 1楼dongshan8的帖子
    问题原因找到了, 果然只是配置的问题

    ```
    $pdo = new PDO('mysql:host=localhost;dbname=my_db;charset=utf8mb4', 'db_user', 'db_password');
    ```

    to:

    ```
    $pdo = new PDO('mysql:host=localhost;dbname=my_db', 'db_user', 'db_password', array(
        PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8mb4',
    ));
    ```

    不知道为啥新版本的pdo的驱动无法直接设置连接字符集为`utf8mb4`, 讲道理应该是向后兼容才对的, 不过至少找到解决方案了 :-D
    2016-07-05 09:14:16
    赞同 展开评论 打赏
  • 旺旺:nectar2。
    楼主您好,

    暂时我还没使用到php7。

    请问站点程序是wordpress吗?

    -------------------------

    回 3楼(辰锦科技) 的帖子
    您好,

    很高兴听到您已经解决了问题,感谢您更新帖子喔。
    2016-07-04 20:55:24
    赞同 展开评论 打赏
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
PHP安全开发:从白帽角度做安全 立即下载
PHP 2017.北京 全球开发者大会——高可用的PHP 立即下载
复杂PHP系统性能瓶颈排查及优化 立即下载