php post access提交中文汉字 接受页面 为乱码,PHP使用UTF8编码读取ACCESS的乱码问题解决方案...

用php连接access数据库,当页面编码是utf-8的时候,就会出现乱码。

下面给出解决办法

一、读取数据

使用 iconv函数制作一个转码的自定义从GBK转到UTF-8的函数,如以下代码:

//从GBK转到UTF-8,输出的时候用

function enc($c){

return iconv('gbk','utf-8',$c);

}

二、添加数据

为了写入数据库的编码是符合数据库需要的,所以我们还要制作一个从UTF-8转向GBK的函数:

//从UTF-8转向GBK,添加的时候用

function dec($c){

return iconv('utf-8','gb2312',$c);

}

制作好了转码函数,接下就是正常使用了。在从数据库里面调数据显示在页面的时候使用enc()函数,从页面提交数据到数据库时使用dec()函数,这样就可以很好的解决PHP使用UTF-8编码,ACCESS使用系统默认编码的问题了。

应用实例代码

header("content-type:text/html;charset=utf-8");

//从GBK转到UTF-8,输出的时候用

function enc($c){

return iconv('gbk','utf-8',$c);

}

/*

创建ADO连接

*/

$conn = @new COM("ADODB.Connection") or die ("ADO Connection faild.");

$connstr = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" . realpath("ycxfbase.mdb");

$conn->Open($connstr);

/*

创建记录集查询

*/

$rs = @new COM("ADODB.RecordSet");

$rs->Open("select * from about",$conn,1,3);

/*

循环读取数据

*/

while(!$rs->eof){

echo enc($rs->Fields["title"]->Value);

echo "
";

$rs->Movenext(); //将记录集指针下移

}

$rs->close();

?>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值