Chinaunix首页 | 论坛 | 博客
  • 博客访问: 136538
  • 博文数量: 40
  • 博客积分: 1935
  • 博客等级: 上尉
  • 技术积分: 430
  • 用 户 组: 普通用户
  • 注册时间: 2008-03-11 08:14
文章分类

全部博文(40)

文章存档

2011年(2)

2009年(11)

2008年(27)

我的朋友

分类: Mysql/postgreSQL

2008-09-27 20:36:22

  这两天用PHP ADODB做数据库访问层,发现数据添加到进数据库后,读进读出都是对的,但是用phpMyAdmin打开时,就乱得一踏。前两天试着结果,在Google下找了半天没找到。刚才终于找到解决办法了,贴出来,希望以后出现同样问题的人们可以更容易找到答案。

  具体做法是:
     我是参考这儿的,可以过去看看原文,写得很清楚。

在/adodb/drivers/adodb-mysql.inc.php 中,修改以下两个函数:




function _connect($argHostname, $argUsername, $argPassword, $argDatabasename)
{
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 (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;
+ @mysql_query("SET NAMES 'utf8'", $this->_connectionID);
if ($this->autoRollback) $this->RollbackTrans();
if ($argDatabasename) return $this->SelectDB($argDatabasename);
return true;
}

阅读(1414) | 评论(2) | 转发(0) |
给主人留下些什么吧!~~

chinaunix网友2010-01-20 12:35:45

hyjhj

chinaunix网友2010-01-20 12:33:54

hjhjhj