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 相关文章推荐
PHP4 与 MySQL 交互使用
Oct 09 PHP
php下实现伪 url 的超简单方法[转]
Sep 24 PHP
使用PHP批量生成随机用户名
Jul 10 PHP
PHP 文件类型判断代码
Mar 13 PHP
一些php项目中比较通用的php自建函数的详解
Jun 06 PHP
解析php中heredoc的使用方法
Jun 17 PHP
JoshChen_web格式编码UTF8-无BOM的小细节分析
Aug 16 PHP
php列出mysql表所有行和列的方法
Mar 13 PHP
php实现将字符串按照指定距离进行分割的方法
Mar 14 PHP
使用phpexcel类实现excel导入mysql数据库功能(实例代码)
May 12 PHP
PHP的PDO错误与错误处理
Jan 27 PHP
PHP pthreads v3使用中的一些坑和注意点分析
Feb 21 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
apache php模块整合操作指南
2012/11/16 PHP
用PHP写的一个冒泡排序法的函数简单实例
2016/05/26 PHP
php获得刚插入数据的id 的几种方法总结
2018/05/31 PHP
又一个图片自动缩小的JS代码
2007/03/10 Javascript
一个刚完成的layout(拖动流畅,不受iframe影响)
2007/08/17 Javascript
js控制滚动条缓慢滚动到顶部实现代码
2013/03/20 Javascript
input链接页面、打开新网页等等的具体实现
2013/12/30 Javascript
理解javascript中的原型和原型链
2015/07/30 Javascript
JS通过Cookie判断页面是否为首次打开
2016/02/05 Javascript
浅谈jQuery animate easing的具体使用方法(推荐)
2016/06/17 Javascript
JavaScript提高网站性能优化的建议(二)
2016/07/24 Javascript
Node连接mysql数据库方法介绍
2017/02/07 Javascript
基于vue实现swipe分页组件实例
2017/05/25 Javascript
jQuery Validate格式验证功能实例代码(包括重名验证)
2017/07/18 jQuery
动态Axios的配置步骤详解
2018/01/12 Javascript
vue中Npm run build 根据环境传递参数方法来打包不同域名
2018/03/29 Javascript
vue实现固定位置显示功能
2019/05/30 Javascript
Vue 中 template 有且只能一个 root的原因解析(源码分析)
2020/04/11 Javascript
python实现2014火车票查询代码分享
2014/01/10 Python
python使用pil进行图像处理(等比例压缩、裁剪)实例代码
2017/12/11 Python
Django分页查询并返回jsons数据(中文乱码解决方法)
2018/08/02 Python
Python标准库shutil用法实例详解
2018/08/13 Python
python简易实现任意位数的水仙花实例
2018/11/13 Python
使用python模拟命令行终端的示例
2019/08/13 Python
python 多进程共享全局变量之Manager()详解
2019/08/15 Python
Python实现画图软件功能方法详解
2020/07/28 Python
美体小铺英国官网:The Body Shop英国
2017/01/24 全球购物
英国豪华真皮和布艺沙发销售网站:Darlings of Chelsea
2018/01/05 全球购物
美国在线面料商店:Online Fabric Store
2018/07/26 全球购物
英国哈罗德园艺:Harrod Horticultural
2020/03/31 全球购物
基层干部十八大感言
2014/01/19 职场文书
党校毕业个人总结
2015/02/28 职场文书
个人承诺书格式范文
2015/04/29 职场文书
2016年社区服务活动总结
2016/04/06 职场文书
交通安全宣传标语(100条)
2019/08/22 职场文书
Win11 Dev 预览版25174.1000发布 (附更新修复内容汇总)
2022/08/05 数码科技