SQL SERVER2005 中文字符为乱码解决参考方法

作者:袖梨 2022-06-29

SQL SERVER2005 中文字符为乱码解决参考方法

使用SQL SERVER2005的时候常常遇到中文字符为乱码的情况,经过研究发现,设置SQL的排序规则可以解决这个问题。

1、登录服务器打开Microsoft SQL Server Management Studio。

2、在要修改的数据库教程上单击鼠标右键,并选择“属性”。

3、在弹出的数据库属性窗口中点击“选择页”中的“选项”。

4、将排序规则由默认的SQL_Latin1_General_CP1_CI_AS修改为Chinese_PRC_CI_AS。

5、点击确定就OK。


varchar修改为nvarchar
char修改为nchar

注:如
两种方法:

1:

安装时不要选 Hide advice configuration options

然后再 Collation designator and order 中选择 Chinese_PRC 就可以了。

2:

在建表时指明某个字段的语言

方法 COLLATE Chinese_PRC_CS_AS_WS

示例:

create table test
(
a varchar(255) COLLATE Chinese_PRC_CS_AS_WS NULL,
b varchar(255) COLLATE sql_latin1_general_cp1_ci_as NULL
)

insert test values('中文','中文')

插入后 字段 a 为 中文 ,b 为 ??


其它参考资料

中文存到数据库中总是显示乱码。DEBUG发现页面中文到Service都是正确的中文。试着在数据库中把字段值改为中文(字段类型为Nvarchar),结果页面上可以正确显示,说明页面设置正确。 问题出在数据库层。

后来检查数据库连接字段,发现一个参数

sendStringParametersAsUnicode=false

将其改为 sendStringParametersAsUnicode=true 问题解决。

查MSDN资料

 

如果 sendStringParametersAsUnicode 属性设置为“true”,则字符串参数将以 Unicode 格式发送给服务器。

如果 sendStringParametersAsUnicode 属性设置为“false”,则字符串参数将以非 Unicode 格式(例如 ASCII/MBCS 而不是 Unicode)发送给服务器。

sendStringParametersAsUnicode 属性的默认值为“true”。

 

相关文章

精彩推荐