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 相关文章推荐
使用TinyButStrong模板引擎来做WEB开发
Mar 16 PHP
精通php的十大要点(上)
Feb 04 PHP
解析php中的escape函数
Jun 29 PHP
免费手机号码归属地API查询接口和PHP使用实例分享
Apr 10 PHP
PHP安全的URL字符串base64编码和解码
Jun 19 PHP
php获取数组元素中头一个数组元素值的实现方法
Dec 20 PHP
php中实现xml与mysql数据相互转换的方法
Dec 25 PHP
PHP自带ZIP压缩、解压缩类ZipArchiv使用指南
Mar 03 PHP
浅谈Coreseek、Sphinx-for-chinaese、Sphinx+Scws的区别
Dec 15 PHP
PHP实现的XML操作类【XML Library】
Dec 29 PHP
详谈phpAdmin修改密码后拒绝访问的问题
Apr 03 PHP
PHP实现简单注册登录系统
Dec 28 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中对xml读取的相关函数的介绍一
2008/06/05 PHP
用PHP连接MySQL代码的参数说明
2008/06/07 PHP
php模板函数 正则实现代码
2012/10/15 PHP
解析dedeCMS验证码的实现代码
2013/06/07 PHP
mysql desc(DESCRIBE)命令实例讲解
2016/09/24 PHP
php 后端实现JWT认证方法示例
2018/09/04 PHP
JS控制显示隐藏兼容问题(IE6、IE7、IE8)
2010/04/01 Javascript
JavaScript函数获取事件源的小例子
2014/05/14 Javascript
jQuery实现自动切换播放的经典滑动门效果
2015/09/12 Javascript
js判断图片加载完成后获取图片实际宽高的方法
2016/02/25 Javascript
jQuery siblings()用法实例详解
2016/04/26 Javascript
Bootstrap编写一个同时适用于PC、平板、手机的登陆页面
2016/06/30 Javascript
js 颜色选择插件
2017/01/23 Javascript
jQuery表单元素选择器代码实例
2017/02/06 Javascript
神级程序员JavaScript300行代码搞定汉字转拼音
2017/05/20 Javascript
vue中如何动态绑定图片,vue中通过data返回图片路径的方法
2018/02/07 Javascript
JS使用正则表达式获取小括号、中括号及花括号内容的方法示例
2018/06/01 Javascript
vuejs实现ready函数加载完之后执行某个函数的方法
2018/08/31 Javascript
初探Vue3.0 中的一大亮点Proxy的使用
2018/12/06 Javascript
javascript实现雪花飘落效果
2020/08/19 Javascript
Openlayers3实现车辆轨迹回放功能
2020/09/29 Javascript
[02:05]DOTA2完美大师赛趣味视频之看我表演
2017/11/18 DOTA
Python实现生成简单的Makefile文件代码示例
2015/03/10 Python
详谈Python3 操作系统与路径 模块(os / os.path / pathlib)
2018/04/26 Python
flask框架视图函数用法示例
2018/07/19 Python
Pyinstaller加密打包应用的示例代码
2020/06/11 Python
python爬虫要用到的库总结
2020/07/28 Python
scrapy redis配置文件setting参数详解
2020/11/18 Python
HTML5+Canvas+CSS3实现齐天大圣孙悟空腾云驾雾效果
2016/04/26 HTML / CSS
世界顶级足球门票网站:Live Football Tickets
2017/10/14 全球购物
在线吉他课程,学习如何弹吉他:Fender Play
2019/02/28 全球购物
英国领先的豪华时尚家居网上商店:Amara
2019/08/12 全球购物
试用期转正后的自我评价
2014/09/21 职场文书
教师国庆节演讲稿范文2014
2014/09/21 职场文书
2015年电话销售工作总结范文
2015/04/20 职场文书
小学四年级作文之写景
2019/08/23 职场文书