又见编码问题,呵呵.
首先你得确定mssql中的编码是什么,再进行操作,这是最必要的事情.

解决方案 »

  1.   

    既然你的SQL Server都是cp936编码的,你怎么都转成utf8的了?
    targetEncoding错了吧
      

  2.   

    936是简体中文的,
    用gbk或者gb2312,来构造sql语句,然后执行.
      

  3.   

    targetEncoding是因为我在测试SQL语句中加了N的方法,据说加了N ms sql server好像可以自动将utf-8转成它用的unicode方式 SELECT * FROM tabName WHERE field=N'中文'
      

  4.   

    4楼朋友的方法,我也试了3.将所有文件的编码换成gb2312,SELECT * FROM tabName WHERE field=N'中文',SELECT * FROM tabName WHERE field='中文' 均失败 
      

  5.   

    据我测试的情况来看,我目前觉得这个不只是简单的程序上编码转换的问题。因为sql server 2005中是936,也就是简体中文,那我将所的
    1.php文件本身的编码格式,改为ascii
    2.php中header中的charset="gb2312"
    3.php文件中html中的<meta http-equiv="Content-Type" content="text/html;charset=gb2312"/>
    变换编码后,应该没理由失败的啊还有select语句错误也排除的,我将php echo出来sql拷到sql server 2000的查询分析器中执行也是OK的现在我怀疑是linux+php环境设置上出问题了?不知道有没有用
    Redhat Enterprise Linux AS2+php5的 连 windows 2003上的 sql server 2005?