日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 运维知识 > 数据库 >内容正文

数据库

adodb 连接mysql_PHP中使用ADODB连接MySQL中文乱码

發(fā)布時(shí)間:2023/12/14 数据库 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 adodb 连接mysql_PHP中使用ADODB连接MySQL中文乱码 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

最近寫程序,朋友推薦使用ADODB進(jìn)行數(shù)據(jù)庫(kù)連接,速度快,支持?jǐn)?shù)據(jù)庫(kù)種類很多,功能也很強(qiáng)大,使用一下覺得很不錯(cuò)。我程序使用Extjs,數(shù)據(jù)庫(kù)PostgresQL,字符集使用的是utf-8,ADODB沒有做任何改動(dòng)就使用上了,很不錯(cuò)。

有另外一個(gè)項(xiàng)目,也使用Extjs,數(shù)據(jù)庫(kù)使用MySQL5,我把數(shù)據(jù)庫(kù)連接也改成了ADODB,但是問(wèn)題出現(xiàn)了,中文顯示的都是???,檢查數(shù)據(jù)庫(kù)的字符集,Apache的字符集,PHP的字符集都是utf-8的,不知道問(wèn)題出在了什么地方,把ADODB的源碼也讀了一遍,也沒有找到。

最后在網(wǎng)上看到了很多朋友都遇到了這樣的問(wèn)題,也提了不少的解決方法,試過(guò)后都不行,最后看到了關(guān)于Mysql的字符設(shè)置的資料,于是修改了ADODB中mydql驅(qū)動(dòng)的代碼,解決了問(wèn)題,先把具體的方法同大家共享一下:

找到ADODB中的drivers目錄下的adodb-mysql.inc.php文件,修改其中的 _connect和 _pconnect兩個(gè)函數(shù),各增加以下代碼:+ @mysql_query("SET NAMES 'utf8'", $this->_connectionID);即可,位置在SelectDB一行之前。

function _connect($argHostname, $argUsername, $argPassword, $argDatabasename)

{

if (!empty($this->port)) $argHostname .= ":".$this->port;

if (ADODB_PHPVER >= 0x4300)

$this->_connectionID = mysql_connect($argHostname,$argUsername,$argPassword,

$this->forceNewConnect,$this->clientFlags);

else if (ADODB_PHPVER >= 0x4200)

$this->_connectionID = mysql_connect($argHostname,$argUsername,$argPassword,

$this->forceNewConnect);

else

$this->_connectionID = mysql_connect($argHostname,$argUsername,$argPassword);

if ($this->_connectionID === false) return false;

+ @mysql_query("SET NAMES 'utf8'", $this->_connectionID);

if ($argDatabasename) return $this->SelectDB($argDatabasename);

return true;

}

function _pconnect($argHostname, $argUsername, $argPassword, $argDatabasename)

{

if (!empty($this->port)) $argHostname .= ":".$this->port;

if (ADODB_PHPVER >= 0x4300)

$this->_connectionID = mysql_pconnect($argHostname,$argUsername,$argPassword,$this->clientFlags);

else

$this->_connectionID = mysql_pconnect($argHostname,$argUsername,$argPassword);

if ($this->_connectionID === false) return false;

if ($this->autoRollback) $this->RollbackTrans();

+ @mysql_query("SET NAMES 'utf8'", $this->_connectionID);

if ($argDatabasename) return $this->SelectDB($argDatabasename);

return true;

}

總結(jié)

以上是生活随笔為你收集整理的adodb 连接mysql_PHP中使用ADODB连接MySQL中文乱码的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。