Rumah >pembangunan bahagian belakang >tutorial php >PHP使用PDO操作数据库乱码问题的解决方法及实例

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

墨辰丷
墨辰丷asal
2018-06-04 09:56:351481semak imbas

这篇文章主要介绍了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(&#39;数据库连接错误!错误信息:&#39;.$e->getMessage());
      }
      $_pdo->query("SET NAMES utf8"); // $_pdo->exec(&#39;SET NAMES utf8&#39;); //设置数据库编码,两种方法都可以
      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=>&#39;SET NAMES utf8&#39;);
        $_pdo = new PDO(DB_DSN, DB_NAME, DB_PASS, $_opts_values);
      } catch (PDOException $e) {
        exit(&#39;数据库连接错误!错误信息:&#39;.$e->getMessage());
      }
      return $_pdo;
    }
  }
?>

总结:以上就是本篇文的全部内容,希望能对大家的学习有所帮助。

相关推荐:

PHP正则表达式入门基础篇

php UEditor百度编辑器安装与使用方法分享

PHP中swoole扩展安装方法及详细教程

Atas ialah kandungan terperinci PHP使用PDO操作数据库乱码问题的解决方法及实例. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn