php如何读写MS SQL SERVER中varchar类型的字段的数据???急!!!请大师指点一二!
多谢!

解决方案 »

  1.   

    估计你是遇到乱码的困扰了。
    说说你的数据库和php 和html 都用的什么编码
      

  2.   

    源代码:
    <?php
    // Connect to MSSQL
    date_default_timezone_set(PRC); 
    $link = mssql_connect('192.168.100.250', 'sa', 'y');if (!$link || !mssql_select_db('demo', $link)) {
        die('Unable to connect or select database!');
    }$version = mssql_query('SELECT @@VERSION');
    $row = mssql_fetch_array($version);echo $row[0] ."<br><br>";$rs = mssql_query("select top 10 item_no, convert(varchar,description),qty_on_hand from gbitem where left(item_no,2)='FG'",$link);       $XH=1;
           while($row=mssql_fetch_array($rs))
           {
           echo  "$XH &nbsp;&nbsp;&nbsp;&nbsp; $row[0]&nbsp;&nbsp;&nbsp;&nbsp;$row[1] &nbsp;&nbsp;&nbsp;&nbsp;$row[2]" ."<br>";
           $XH ++;
           }mssql_free_result($version); mssql_free_result($rs);        mssql_close($link);?> 显示结果:
    Microsoft SQL Server 2000 - 8.00.2039 (Intel X86) May 3 2005 23:18:38 Copyright (c) 1988-2003 Microsoft Corporation Standard Edition on Windows NT 5.0 (Build 2195: Service Pack 4) 1      FG0601001101X    **???     0.0000
    2      FG0601001201    ?     0.0000
    3      FG0601001201X    ?     7.0000
    4      FG0601001301    ?????     0.0000
    5      FG0601001301X    **?????     2.0000
    6      FG0601101701    A??????     0.0000
    7      FG0601101701X    ??     0.0000
    8      FG0602001101    ???     0.0000
    9      FG0602001101X    **???     0.0000
    10      FG0602001301    ?????     0.0000其中显示:
    ???或**????部份就是汉字或**汉字
      

  3.   

    你的是编码的问题,编码要统一一下,gbk
      

  4.   

    mssql_query('SET_NAMES GBK');
    试试
      

  5.   


    这个肯定不行了,MS SQL没这种写法的,MYSQL就行。
      

  6.   

    首先要确定你的mssql的字符编码,
    然后把php和html的编码与数据库的统一就可以了。如果网页的编码与mssql的不同,又不想改掉网页的编码,那么在入库的时候把中文字符先转成mssql的编码再入库,读取的时候转码显示就可以了。 如果觉得这样增加的服务器的负担,那么就用JavaScript的escape和unescape方法放在客户端执行。
      

  7.   

    程序页面和MSSQL编码不一致引起的。
      

  8.   

    php文件编码html输出编码(head标签中的meta)php输出编码(header('Content-Type: xxx; charset=xxx'))都和mssql编码一直基本上就不会乱码