开发者社区> 问答> 正文

php通过odbc读取informix数据出现乱码,应该怎么修改?

是修改client locale和database locale还是修改其他?修改成什么?
我是用php调用的,可以通过php语言转换所调用数据编码吗?
网页显示结果如下:
今天日期:12-12-04

险种      单数      保费
����        994     1974911.90
������      20      68230.00
������      10      3750.00
������      52      8026.43
�Ҳ���      24      15090.00
�ϼ�        1100        2070008.33
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
    <head>
        <title>PHP and ODBC 1</title>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
        <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    </head>
    <body>
<?php

          $conn=odbc_connect('sky123','picctj','picctj');
        if (($conn)) { 
          echo "今天日期:";
echo date("y-m-d");
          echo odbc_errormsg ($conn );
          echo "</p>\n";
        }

        $sql = "SELECT * from tongji";
        $rs = odbc_exec($conn,$sql);
        echo "<table>";
        echo "<tr><td>险种</td><td>单数</td><td>保费</td></tr>";


        while (odbc_fetch_row($rs))
         {
         $result1 = odbc_result($rs,"xianzhong");
          $result2 = odbc_result($rs,"danshu");
         $result3 = odbc_result($rs,"baofei");

       iconv("Latin-1","gb2312",$result1);//测试的代码

        echo "<tr>";    
         echo "<td>$result1</td>";
         echo "<td>$result2</td>";
         echo "<td>$result3</td>";
         echo "</tr>";
        }
        odbc_close($conn);

        echo "</table>";
    ?>


    </body>
</html>

展开
收起
小旋风柴进 2016-03-05 15:35:53 3592 0
1 条回答
写回答
取消 提交回答
  • 乱码现象是由编码未统一造成的
    PHP 转码可用如下方式进行转码:
    `string iconv ( string $in_charset , string $out_charset , string $str );
    iconv("UTF-8","gb2312",$str);

    2019-07-17 18:53:39
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
PHP 2017.北京 全球开发者大会——高可用的PHP 立即下载
PHP安全开发:从白帽角度做安全 立即下载
复杂PHP系统性能瓶颈排查及优化 立即下载