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设计模式 Adapter(适配器模式)
Jun 26 PHP
三个类概括PHP的五种设计模式
Sep 05 PHP
解析php5配置使用pdo
Jul 03 PHP
PHP内置过滤器FILTER使用实例
Jun 25 PHP
Yii2增加验证码步骤详解
Apr 25 PHP
php多线程并发实现方法
Sep 30 PHP
PHP使用GD库输出汉字的方法【测试可用】
Nov 10 PHP
Zend Framework校验器Zend_Validate用法详解
Dec 09 PHP
Yii框架引用插件和ckeditor中body与P标签去除的方法
Jan 19 PHP
作为PHP程序员你要知道的另外一种日志
Jul 30 PHP
PDO::getAttribute讲解
Jan 28 PHP
PHP实现Markdown文章上传到七牛图床的实例内容
Feb 11 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
PHILIPS AE3805收音机的分析打磨
2021/03/02 无线电
PHP4中实现动态代理
2006/10/09 PHP
PHP编程中字符串处理的5个技巧小结
2007/11/13 PHP
php实现查询百度google收录情况(示例代码)
2013/08/02 PHP
实现PHP多线程异步请求的3种方法
2014/01/17 PHP
几个实用的PHP内置函数使用指南
2014/11/27 PHP
WordPress中查询文章的循环Loop结构及用法分析
2015/12/17 PHP
Thinkphp 框架扩展之标签库驱动原理与用法分析
2020/04/23 PHP
YUI 读码日记之 YAHOO.util.Dom - Part.1
2008/03/22 Javascript
深入探讨前端框架react
2015/12/09 Javascript
js纯数字逐一停止显示效果的实现代码
2016/03/16 Javascript
Bootstrap table使用方法汇总
2017/11/17 Javascript
页面点击小红心js实现代码
2018/05/26 Javascript
JS伪继承prototype实现方法示例
2018/06/20 Javascript
layer.open弹层查看缩略图的原图,自适应大小的实例
2019/09/05 Javascript
微信小程序网络请求实现过程解析
2019/11/06 Javascript
js页面加载后执行的几种方式小结
2020/01/30 Javascript
Python Matplotlib库入门指南
2015/05/18 Python
Python使用itertools模块实现排列组合功能示例
2018/07/02 Python
jupyter 导入csv文件方式
2020/04/21 Python
Python Opencv轮廓常用操作代码实例解析
2020/09/01 Python
Python ellipsis 的用法详解
2020/11/20 Python
俄罗斯GamePark游戏商店网站:购买游戏、游戏机和配件
2020/03/13 全球购物
局域网标准
2016/09/10 面试题
办理暂住证介绍信
2014/01/11 职场文书
班主任工作经验材料
2014/02/02 职场文书
十八届三中全会感言
2014/03/10 职场文书
企业办公室岗位职责
2014/03/12 职场文书
大学专科自荐信
2014/06/17 职场文书
违章停车检讨书
2014/10/21 职场文书
家长学校教学计划
2015/01/19 职场文书
签订劳动合同通知书
2015/04/16 职场文书
中标通知书
2015/04/17 职场文书
redis内存空间效率问题的深入探究
2021/05/17 Redis
python中tkinter复选框使用操作
2021/11/11 Python
python全面解析接口返回数据
2022/02/12 Python