首页 > 语言 > PHP > 正文

PHP使用PDO操作数据库的乱码问题解决方法

2024-05-04 23:44:55
字体:
来源:转载
供稿:网友
这篇文章主要介绍了PHP使用PDO操作数据库的乱码问题解决方法,实例分析了编码设置及属性设置解决乱码问题的实现技巧,需要的朋友可以参考下
 

本文实例讲述了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教程频道。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

图片精选