加入收藏 | 设为首页 | 会员中心 | 我要投稿 阜新站长网 (https://www.0418zz.cn/)- 基础存储、数据处理、视频终端、内容创作、网络安全!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

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

发布时间:2022-07-15 13:06:14 所属栏目:PHP教程 来源:互联网
导读:这篇文章主要介绍了PHP使用PDO操作数据库的乱码问题解决方法,实例分析了编码设置及属性设置解决乱码问题的实现技巧,需要的朋友可以参考下。 本文实例讲述了PHP使用PDO操作数据库的乱码问题解决方法,分享给大家供大家参考,具体如下: 当使用 PDO 连接操作数
  这篇文章主要介绍了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;
      }
    }
  ?>
  注:以上方法,都经过测试。

(编辑:阜新站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读