mingche 发表于 2016-11-2 01:00:49

SQL Server 2005 中文乱码解决

  中文存到数据库中总是显示乱码。DEBUG发现页面中文到Service都是正确的中文。
  解决办法:
  1.关闭所有与此数据库的相关连接或者会话或者相关程序
  2.然后将 SQL_Latin1_General_CP1_CI_AS 修改为 Chinese_PRC_CI_AS (alter database db_namecollate Chinese_PRC_CI_AS) 属性-》选项
  3.将varchar类型修改为nvarchar 就没问题了。或者。如果表里面没有数据的话,把表结构重新建立,建表的时候需要注意不要带“SQL_Latin1_General_CP1_CI_AS ”排序规则。
  
  后来检查数据库连接字段,发现一个参数
  sendStringParametersAsUnicode=false
  将其改为 sendStringParametersAsUnicode=true 问题解决。
  查MSDN资料
  如果 sendStringParametersAsUnicode 属性设置为“true”,则字符串参数将以 Unicode 格式发送给服务器。
  如果 sendStringParametersAsUnicode 属性设置为“false”,则字符串参数将以非 Unicode 格式(例如 ASCII/MBCS 而不是 Unicode)发送给服务器。
  sendStringParametersAsUnicode 属性的默认值为“true”。
  
  本人有个项目使用php+mssql,而mssql只支持gb2312和utf-16编码,而php又要求使用utf-8编码,想到了freetds.而freetds是个在unix下开发的工具,我下载php_dblib.dll
  在freetds进行设置,即可让FreeTDS生效。This is only used when compiled with FreeTDS。mssql默认是不支持设置字符集的,只有安装freetds的时候才能生效。http://hudeyong926.iyunv.com/blog/1286307
页: [1]
查看完整版本: SQL Server 2005 中文乱码解决