$db = new PDO('oci:dbname=数据库实例;charset=zhs16gbk', $username, $password);

解决方案 »

  1.   

    我用的是ADODB方式去连接,但是更新到oracle表内容是乱码。抓狂,求大神解。
      

  2.   

    如果浏览器编码是utf-8?抓取的数据,是不是就乱码?
      

  3.   

    是的。gbk显示正常,utf8显示乱码。
      

  4.   

    $db = new PDO('oci:dbname=数据库实例;charset=uft8', $username, $password);
    试试
      

  5.   

    插进去的数据是不是乱码?如果乱码就设置数据库为UTF8,反之就是php文件保存时选择UTF8.
      

  6.   

    插入oracle数据库是乱码。 oracle库是多年业务库,不可能重新这只字符集。
    现在提取的数据用 iconv转码可正常显示在网页当中。
    pdo方式我等下试试看。
      

  7.   

    问题基本解决,暂时还是用的adodb连接,zend用utf8编码,把页面汉字用iconv函数转换为gbk,可以和oracle提取的数据一起正常显示为汉字,浏览器编码gbk
    写入oracle也需要用到iconv转码
    $str = 'csdn论坛';
    $dm=iconv("UTF-8","GBK",$Sstr);
    $query="UPDATE table_name SET field_name = '$dm'  ";这样插入oracle数据是正常的中文。
      

  8.   

    上面$sstr多写了个s  应该是$str