首頁  >  文章  >  後端開發  >  php pdo怎麼設定編碼

php pdo怎麼設定編碼

藏色散人
藏色散人原創
2021-05-25 09:08:482948瀏覽

php pdo設定編碼的方法:1、透過「$_pdo->exec('SET NAMES utf8');」設定資料庫編碼;2、在實例化PDO的第四個參數中新增「MYSQL_ATTR_INIT_COMMAND ”屬性。

php pdo怎麼設定編碼

本文操作環境:windows7系統、php5.2.4版,DELL G3電腦

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(&#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 pdo怎麼設定編碼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn