SQL SERVER 2005 排序规则引发的中文乱码 解决方法


症状: 

 sqlserver 2005 数据库,将 中文字符 插入varchar 类型的列,然后查询会显示 ??? 之类的乱码。

原因:

是数据库的 排序规则 设置问题。 

 解决办法:

1.关闭所有与此数据库的相关连接或者会话或者相关程序

2.然后将 SQL_Latin1_General_CP1_CI_AS 修改为 Chinese_PRC_CI_AS (alter database db_name collate Chinese_PRC_CI_AS

3.将varchar类型修改为nvarchar 就没问题了。或者。如果表里面没有数据的话,把表结构重新建立,建表的时候需要注意不要带“SQL_Latin1_General_CP1_CI_AS ”排序规则。

原文地址:https://www.cnblogs.com/andy_tigger/p/1978546.html