PHP 我是用UTF-8编码,现在用pdo连接ACCESS读取数据中文显示出来都是乱码,根据网络上做法转换到MYSQL再转换到UTF-8编码的ACCESS,还是读取乱码。如果把UTF-8页面上的表单提交保存,读取出来是正常的,但进入ACCESS里看发现是乱码字符。
    请问哪位大神指导pdo有设置编码的属性或者pdo的odbc驱动dsn里有设置编码的语句嘛?就像以前用ADODB连接ACCESS,里面有个设置编码的属性,设置下就正常了。pdo应该不至于没考虑到编码这块吧。
    如果说用iconv进行一个个字段数据转码就别了,这样根本就是低效率。

解决方案 »

  1.   

    你用ADODB连接时怎么做的,用PDO时也怎么做
      

  2.   

    用ADODB时用 $DB->charPage ='65001'; 这样就指定ACCESS数据库编码为UTF-8了($DB为AODOB示例对象)。主要发现PDO里没有这类属性,所以想问下有没有人知道呢
      

  3.   

    <?php
    $db = new PDO('dblib:host=your_hostname;dbname=your_db;charset=UTF-8', $user, $pass);
    ?>http://php.net/manual/en/book.pdo.php
      

  4.   

    不行,这个好像是针对MSSQL的,我用ACCESS试了连接不了~
      

  5.   

    set names utf8