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蜘蛛统计插件只要有mysql就可用
Oct 12 PHP
PHP中通过语义URL防止网站被攻击的方法分享
Sep 08 PHP
PHP Cookie的使用教程详解
Jun 03 PHP
如何解决CI框架的Disallowed Key Characters错误提示
Jul 05 PHP
ThinkPHP之N方法实例详解
Jun 20 PHP
PHP使用range协议实现输出文件断点续传代码实例
Jul 04 PHP
php返回json数据函数实例
Oct 09 PHP
php实现使用正则将文本中的网址转换成链接标签
Dec 03 PHP
PHP处理二进制数据的实现方法
Jun 13 PHP
PHP实现的大文件切割与合并功能示例
Apr 10 PHP
PHPExcel实现表格导出功能示例【带有多个工作sheet】
Jun 13 PHP
详解PHP实现支付宝小程序用户授权的工具类
Dec 25 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
用cookies来跟踪识别用户
2006/10/09 PHP
PHP取整数函数常用的四种方法小结
2012/07/05 PHP
9个比较实用的php代码片段
2016/03/15 PHP
javascript(jquery)利用函数修改全局变量的代码
2009/11/02 Javascript
Extjs学习过程中新手容易碰到的低级错误积累
2010/02/11 Javascript
同一页面多个商品倒计时JS 基于面向对象的javascript
2012/02/16 Javascript
jQuery Tools tooltip使用说明
2012/07/14 Javascript
javascript trim函数在IE下不能用的解决方法
2014/09/12 Javascript
轻松创建nodejs服务器(3):代码模块化
2014/12/18 NodeJs
了不起的node.js读书笔记之mongodb数据库交互
2014/12/22 Javascript
Node.js开源应用框架HapiJS介绍
2015/01/14 Javascript
基于jquery实现轮播焦点图插件
2016/03/31 Javascript
实现easyui的datagrid导出为excel的示例代码
2016/11/10 Javascript
Bootstrap CSS组件之导航(nav)
2016/12/17 Javascript
Node.js读取文件内容示例
2017/03/07 Javascript
vue.js内部自定义指令与全局自定义指令的实现详解(利用directive)
2017/07/11 Javascript
vue-cli项目无法用本机IP访问的解决方法
2018/09/20 Javascript
vue-quill-editor+plupload富文本编辑器实例详解
2018/10/19 Javascript
vue组件间的参数传递实例详解
2019/04/26 Javascript
Vue实现购物车详情页面的方法
2019/08/20 Javascript
js判断在哪个浏览器打开项目的方法
2020/01/21 Javascript
详解Python pygame安装过程笔记
2017/06/05 Python
python3实现多线程聊天室
2018/12/12 Python
python实现远程控制电脑
2019/05/23 Python
Python散点图与折线图绘制过程解析
2019/11/30 Python
ETO男装官方网店:ETO Jeans
2019/02/28 全球购物
澳大利亚人信任的清洁平台,您的私人管家:Jarvis
2020/12/25 全球购物
你常见到的runtime exception
2016/09/05 面试题
简单叙述一下MYSQL的优化
2016/05/09 面试题
Jdbc数据访问技术面试题
2012/03/30 面试题
日语专业求职信
2014/07/04 职场文书
2015年高二班主任工作总结
2015/05/25 职场文书
签证工作证明模板
2015/06/15 职场文书
python中pandas对多列进行分组统计的实现
2021/06/18 Python
Python下载商品数据并连接数据库且保存数据
2022/03/31 Python
常用的文件对应的MIME类型汇总
2022/04/26 HTML / CSS