程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> PHP使用PDO操作數據庫的亂碼問題解決方法,pdo亂碼

PHP使用PDO操作數據庫的亂碼問題解決方法,pdo亂碼

編輯:關於PHP編程

PHP使用PDO操作數據庫的亂碼問題解決方法,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相關內容感興趣的讀者可查看本站專題:《PHP基於pdo操作數據庫技巧總結》、《PHP運算與運算符用法總結》、《PHP網絡編程技巧總結》、《PHP基本語法入門教程》、《php操作office文檔技巧總結(包括word,excel,access,ppt)》、《php日期與時間用法總結》、《php面向對象程序設計入門教程》、《php字符串(string)用法總結》、《php+mysql數據庫操作入門教程》及《php常見數據庫操作技巧匯總》

希望本文所述對大家PHP程序設計有所幫助。

您可能感興趣的文章:

  • 在PHP中PDO解決中文亂碼問題的一些補充
  • php PDO中文亂碼解決辦法
  • PHP中PDO的事務處理分析
  • PHP的PDO常用類庫實例分析
  • PHP的PDO操作簡單示例
  • PHP5.2中PDO的簡單使用方法
  • php中PDO方式實現數據庫的增刪改查
  • php中mysql連接方式PDO使用詳解
  • php中數據庫連接方式pdo和mysqli對比分析
  • PHP PDO fetch 模式各種參數的輸出結果一覽
  • php使用PDO方法詳解

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved