require_once 'adodb/adodb.inc.php';
$conn = NewADOConnection ( "access" );
$connstr = "Driver={Microsoft Access Driver (*.mdb)};DBQ=" . realpath ( "database/testDB.mdb" ) . ";Uid=;Pwd=;";
$conn->Connect($connstr);
$sql = "select * from productClass";
$rs = $conn->execute ( $sql );
print_r($rs->GetRows());
但是,从数据库中读取的中文居然都是乱码。解决方法就是把代码改成如下形式:
require_once 'adodb/adodb.inc.php';
$conn = new COM ( "ADODB.Connection", NULL, 65001) or die ( "ADO connect failed!" );
$connstr = "Driver={Microsoft Access Driver (*.mdb)};DBQ=" . realpath ( "database/testDB.mdb" ) . ";Uid=;Pwd=;";
$conn->open ( $connstr );
$sql = "select * from productClass";
$rsArr = $conn->execute ( $sql );
if ($rsArr) {
while ( ! $rsArr->eof ) {
echo $rsArr->fields["id"]." ".$rsArr->fields["className"]."<br>";
$rsArr->MoveNext();
}
} else {
print $conn->ErrorMsg ();
}
$rsArr = null;
$conn->close ();
$conn = null;
本文介绍了一种解决使用PHP操作ACCESS数据库时出现中文乱码的方法。通过调整连接方式及编码设置,成功实现了正确读取中文数据。具体步骤包括使用newCOM方法创建连接,并指定编码为65001。

1万+

被折叠的 条评论
为什么被折叠?



