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中的时间显示
Jan 18 PHP
php 缓存函数代码
Aug 27 PHP
用PHP将数据导入到Foxmail的实现代码
Sep 05 PHP
PHP中英混合字符串截取函数代码
Jul 17 PHP
浅析ThinkPHP中的pathinfo模式和URL重写
Jan 06 PHP
PHP针对JSON操作实例分析
Jan 12 PHP
PHP动态规划解决0-1背包问题实例分析
Mar 23 PHP
PHP实现将textarea的值根据回车换行拆分至数组
Jun 10 PHP
PHP Static延迟静态绑定用法分析
Mar 16 PHP
php如何实现不借助IDE快速定位行数或者方法定义的文件和位置
Jan 17 PHP
php显示页码分页类的封装
Jun 08 PHP
基于CI(CodeIgniter)框架实现购物车功能的方法
Apr 09 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
星际实力自我测试
2020/03/04 星际争霸
php中怎么搜索相关联数组键值及获取之
2013/10/17 PHP
php自动给网址加上链接的方法
2015/06/02 PHP
PHP结合Jquery和ajax实现瀑布流特效
2016/01/07 PHP
使用PHPStorm+XDebug搭建单步调试环境
2017/11/19 PHP
PHP区块查询实现方法分析
2018/05/12 PHP
jQuery LigerUI 使用教程表格篇(1)
2012/01/18 Javascript
JQuery中ajax方法访问web服务实例
2015/07/18 Javascript
jQuery获取父元素及父节点的方法小结
2016/04/14 Javascript
JavaScript程序中实现继承特性的方式总结
2016/06/24 Javascript
浅谈js函数的多种定义方法与区别
2016/11/29 Javascript
用vue和node写的简易购物车实现
2017/04/25 Javascript
基于 Vue 实现一个酷炫的 menu插件
2017/11/14 Javascript
angularjs实现table表格td单元格单击变输入框/可编辑状态示例
2019/02/21 Javascript
小程序获取当前位置加搜索附近热门小区及商区的方法
2019/04/08 Javascript
详解vue 图片上传功能
2019/04/30 Javascript
JavaScript命名空间模式实例详解
2019/06/20 Javascript
JS实现省市县三级下拉联动
2020/04/10 Javascript
[01:10:30]DOTA2-DPC中国联赛正赛 Dragon vs Dynasty BO3 第一场 3月4日
2021/03/11 DOTA
python实现的登陆Discuz!论坛通用代码分享
2014/07/11 Python
python基于queue和threading实现多线程下载实例
2014/10/08 Python
python3.6 实现AES加密的示例(pyCryptodome)
2018/01/10 Python
python使用ddt过程中遇到的问题及解决方案【推荐】
2018/10/29 Python
pyinstaller打包多个py文件和去除cmd黑框的方法
2019/06/21 Python
python 实现逻辑回归
2020/12/30 Python
纯css3实现走马灯效果
2014/12/26 HTML / CSS
美国摄影爱好者购物网站:Focus Camera
2016/10/21 全球购物
PUMA官方商城:世界领先的运动品牌之一
2016/11/16 全球购物
xml有哪些解析技术?区别是什么
2016/04/26 面试题
EJB的几种类型
2012/08/15 面试题
税务干部鉴定材料
2014/02/11 职场文书
学校党委干部个人对照检查材料思想汇报
2014/10/09 职场文书
2015年乡镇党务公开工作总结
2015/05/19 职场文书
《检阅》教学反思
2016/02/22 职场文书
python之json文件转xml文件案例讲解
2021/08/07 Python
python分分钟绘制精美地图海报
2022/02/15 Python