PHP使用PDO操作数据库的乱码问题解决方法


Posted in PHP onApril 08, 2016

本文实例讲述了PHP使用PDO操作数据库的乱码问题解决方法。分享给大家供大家参考,具体如下:

当使用 PDO 连接操作数据库的时候,有时会出现:保存在数据库中的汉字为乱码。以文件为 UTF-8 格式,其解决方法如下:

(1)实例化的对象直接执行 query() 方法或者 exec() 方法:

<?php
  class DB {
    static public function getDB() {
      try {
        $_opts_values = array(PDO::ATTR_PERSISTENT=>true,PDO::ATTR_ERRMODE=>2);
        $_pdo = new PDO(DB_DSN, DB_NAME, DB_PASS, $_opts_values);
      } catch (PDOException $e) {
        exit('数据库连接错误!错误信息:'.$e->getMessage());
      }
      $_pdo->query("SET NAMES utf8"); // $_pdo->exec('SET NAMES utf8'); //设置数据库编码,两种方法都可以
      return $_pdo;
    }
  }
?>

(2)在实例化 PDO 的第四个参数添加 MYSQL_ATTR_INIT_COMMAND 属性:

<?php
  class DB {
    static public function getDB() {
      try {
        $_opts_values = array(PDO::ATTR_PERSISTENT=>true,PDO::ATTR_ERRMODE=>2,PDO::MYSQL_ATTR_INIT_COMMAND=>'SET NAMES utf8');
        $_pdo = new PDO(DB_DSN, DB_NAME, DB_PASS, $_opts_values);
      } catch (PDOException $e) {
        exit('数据库连接错误!错误信息:'.$e->getMessage());
      }
      return $_pdo;
    }
  }
?>

注:以上方法,都经过测试。

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
一篇入门的php Class 文章
Apr 04 PHP
Ajax PHP简单入门教程代码
Apr 25 PHP
php 操作调试的方法
Jul 12 PHP
邮箱正则表达式实现代码(针对php)
Jun 21 PHP
利用yahoo汇率接口实现实时汇率转换示例 汇率转换器
Jan 14 PHP
PHP中if和or运行效率对比
Dec 12 PHP
WordPress中获取页面链接和标题的相关PHP函数用法解析
Dec 17 PHP
Android App中DrawerLayout抽屉效果的菜单编写实例
Mar 21 PHP
PHP中file_exists使用中遇到的问题小结
Apr 05 PHP
php中关于长度计算容易混淆的问题分析
May 27 PHP
IOS 开发之NSDictionary转换成JSON字符串
Aug 14 PHP
PHP文件系统管理(实例讲解)
Sep 19 PHP
PHP中__autoload和Smarty冲突的简单解决方法
Apr 08 #PHP
初识ThinkPHP控制器
Apr 07 #PHP
PHP中PDO的事务处理分析
Apr 07 #PHP
PHP+Ajax实现无刷新分页实例详解(附demo源码下载)
Apr 07 #PHP
人脸识别测颜值、测脸龄、测相似度微信接口
Apr 07 #PHP
PHP的PDO常用类库实例分析
Apr 07 #PHP
PHP安全下载文件的方法
Apr 07 #PHP
You might like
解析php session_set_save_handler 函数的用法(mysql)
2013/06/29 PHP
Laravel中validation验证 返回中文提示 全局设置的方法
2019/09/29 PHP
如何重写Laravel异常处理类详解
2020/12/20 PHP
为指定元素增加样式的js代码
2009/12/09 Javascript
深入理解JavaScript定时机制
2010/10/29 Javascript
javascript 学习笔记(onchange等)
2010/11/14 Javascript
解决IE6的PNG透明JS插件使用介绍
2013/04/17 Javascript
jquery map方法使用示例
2014/04/23 Javascript
Javascript编写俄罗斯方块思路及实例
2015/07/07 Javascript
Bootstrap每天必学之栅格系统(布局)
2015/11/25 Javascript
Bootstrap布局之栅格系统详解
2016/06/13 Javascript
JS导出PDF插件的方法(支持中文、图片使用路径)
2016/07/12 Javascript
js插件实现图片滑动验证码
2020/09/29 Javascript
p5.js入门教程之图片加载
2018/03/20 Javascript
jQuery使用$.extend(true,object1, object2);实现深拷贝对象的方法分析
2019/03/06 jQuery
vue spa应用中的路由缓存问题与解决方案
2019/05/31 Javascript
微信小程序中的video视频实现 自定义播放按钮、封面图、视频封面上文案
2020/01/02 Javascript
es6中Promise 对象基本功能与用法实例分析
2020/02/23 Javascript
[59:08]DOTA2上海特级锦标赛C组小组赛#2 LGD VS Newbee第一局
2016/02/27 DOTA
Python简明入门教程
2015/08/04 Python
python制作一个桌面便签软件
2015/08/09 Python
Python之reload流程实例代码解析
2018/01/29 Python
对python csv模块配置分隔符和引用符详解
2018/12/12 Python
python操作openpyxl导出Excel 设置单元格格式及合并处理代码实例
2019/08/27 Python
小米官方旗舰店:Xiaomi
2020/08/07 全球购物
linux面试相关问题
2012/08/11 面试题
药学专业个人的自我评价
2013/12/31 职场文书
高中语文课后反思
2014/04/27 职场文书
社会实践评语
2014/04/28 职场文书
个人工作主要事迹
2014/05/08 职场文书
2014大学生批评与自我批评思想汇报
2014/09/21 职场文书
2015年元旦主持词结束语
2014/12/14 职场文书
借款民事起诉状范文
2015/05/19 职场文书
教师继续教育反思周记
2015/06/25 职场文书
小学体育跳绳课教学反思
2016/02/16 职场文书
怎么禁用Win11输入法 最新Win11输入法关闭教程
2022/08/05 数码科技