PHP使用PDO操作數(shù)據(jù)庫的亂碼問題解決方法
本文實例講述了PHP使用PDO操作數(shù)據(jù)庫的亂碼問題解決方法。分享給大家供大家參考,具體如下:
當使用 PDO 連接操作數(shù)據(jù)庫的時候,有時會出現(xiàn):保存在數(shù)據(jù)庫中的漢字為亂碼。以文件為 UTF-8 格式,其解決方法如下:
(1)實例化的對象直接執(zhí)行 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('數(shù)據(jù)庫連接錯誤!錯誤信息:'.$e->getMessage());
}
$_pdo->query("SET NAMES utf8"); // $_pdo->exec('SET NAMES utf8'); //設置數(shù)據(jù)庫編碼,兩種方法都可以
return $_pdo;
}
}
?>
(2)在實例化 PDO 的第四個參數(shù)添加 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('數(shù)據(jù)庫連接錯誤!錯誤信息:'.$e->getMessage());
}
return $_pdo;
}
}
?>
注:以上方法,都經(jīng)過測試。
更多關于PHP相關內容感興趣的讀者可查看本站專題:《PHP基于pdo操作數(shù)據(jù)庫技巧總結》、《PHP運算與運算符用法總結》、《PHP網(wǎng)絡編程技巧總結》、《PHP基本語法入門教程》、《php操作office文檔技巧總結(包括word,excel,access,ppt)》、《php日期與時間用法總結》、《php面向對象程序設計入門教程》、《php字符串(string)用法總結》、《php+mysql數(shù)據(jù)庫操作入門教程》及《php常見數(shù)據(jù)庫操作技巧匯總》
希望本文所述對大家PHP程序設計有所幫助。
相關文章
深入探討"<br />"和 "\r\n" 兩者有什么
本篇文章是對"<br />"和"\r\n"兩者的區(qū)別進行了詳細的分析介紹,需要的朋友參考下2013-06-06
PHP使用curl_multi實現(xiàn)并發(fā)請求的方法示例
這篇文章主要介紹了PHP使用curl_multi實現(xiàn)并發(fā)請求的方法,結合實例形式分析了php封裝curl_multi實現(xiàn)的并發(fā)請求相關操作技巧,需要的朋友可以參考下2018-04-04
關于PHP結束標簽的使用細節(jié)探討及聯(lián)想
PHP解析文件時會尋找開始?php和結束標記?,標記告訴PHP開始和停止解釋其中的代碼,接下來將詳細介紹下PHP結束標簽的使用細節(jié)感興趣的你可以參考下本文或許可以幫助到你2013-03-03
PHP采集靜態(tài)頁面并把頁面css,img,js保存的方法
這篇文章主要介紹了PHP采集靜態(tài)頁面并把頁面css,img,js保存的方法,可以實現(xiàn)簡單的網(wǎng)頁抓取功能,具有一定的參考借鑒價值,需要的朋友可以參考下2014-12-12

