我用的是MS SQL 2008 + PHP 5.2
开发环境是 中文XP + VS 2008
生产环境是 英文的Windows Server 2010MS SQL的存储字段全是nvarchar,排序方式是Chinese_PRC_IS_AS,可以在表中存储中文(开发环境和生产环境相同)现在情况是页面输出的时候全是????,一开始我在开发环境中用<?php echo mb_convert_encoding( $record['title'] , "UTF-8", "GBK");?> 是可以解决的,但是到了生产环境中又是????了。请哪位大侠提点我一下啊,谢谢。

解决方案 »

  1.   


    大家都是这么说的啊,但是MSSQL的nvarchar字段的是什么编码的啊?
      

  2.   

    unicode
    中文版 对应 ucs-2
    英文版 不知道建议只是用 非 n 打头的类型
      

  3.   

    搞定了,链接字符串上加一个"CharacterSet" => "UTF-8"
    然后所有页面就能UTF-8了,也不用转码了。我一直是用n开头的类型的,因为有的时候会遇到全英文的老系统,再想往里面加中文的话,varchar是没法存的,只能全部换成nvarchar