通过epel源安装php7后连接数据库直接提示:
<code>Unable to set client connection character set: utf8mb4</code>
使用utf8则没有报错
找到一种解决方案: 直接使用sql语句设置字符集则
<code>SET NAMES 'utf8mb4';</code>
但是使用这种方法, 总感觉不好, 而且之前代码需要改动的地方也不少, 有点划不来
大大们, 有解决方案吗, 这里先谢过了
立即学习“PHP免费学习笔记(深入)”;
PS: 没辙google了一天都没有找到解决方案, 不过估计是很傻B的问题
================================================================
问题原因找到了, 果然只是配置的问题
<code>$pdo = new PDO('mysql:host=localhost;dbname=my_db;charset=utf8mb4', 'db_user', 'db_password');</code>to:
<code>$pdo = new PDO('mysql:host=localhost;dbname=my_db', 'db_user', 'db_password', array(
PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8mb4',
));</code>不知道为啥新版本的pdo的驱动无法直接设置连接字符集为utf8mb4, 讲道理应该是向后兼容才对的, 不过至少找到解决方案了 :-D
通过epel源安装php7后连接数据库直接提示:
超萌卡通数学数字符号合集矢量适用于教育材料(制作儿童学习材料,如数字学习卡片,让儿童在可爱和有趣的环境中学习数字)、活动海报(制作各种涉及数字主题的活动海报,如数学竞赛、数字猜谜游戏等)、产品设计(各种产品设计,如T恤、包包、家居用品等)、广告设计(各种广告宣传材料,如海报、横幅、传单等)等相关设计的AI格式素材。
0
<code>Unable to set client connection character set: utf8mb4</code>
使用utf8则没有报错
找到一种解决方案: 直接使用sql语句设置字符集则
<code>SET NAMES 'utf8mb4';</code>
但是使用这种方法, 总感觉不好, 而且之前代码需要改动的地方也不少, 有点划不来
大大们, 有解决方案吗, 这里先谢过了
立即学习“PHP免费学习笔记(深入)”;
PS: 没辙google了一天都没有找到解决方案, 不过估计是很傻B的问题
================================================================
问题原因找到了, 果然只是配置的问题
<code>$pdo = new PDO('mysql:host=localhost;dbname=my_db;charset=utf8mb4', 'db_user', 'db_password');</code>to:
<code>$pdo = new PDO('mysql:host=localhost;dbname=my_db', 'db_user', 'db_password', array(
PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8mb4',
));</code>不知道为啥新版本的pdo的驱动无法直接设置连接字符集为utf8mb4, 讲道理应该是向后兼容才对的, 不过至少找到解决方案了 :-D
PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号