如果是在显示上的乱码,那是你程序里面的字符集问题了。
在 SQL Server 中,下列数据类型支持 Unicode 数据:
nchar
nvarchar
ntext
Unicode 常量以 N 开头指定:N'A Unicode string'。如果SQL Server 2005系统排序规则为"SQL_Latin1_General_CP1_CI_AS",那么数据库及数据库字段排序规则都默认为"SQL_Latin1_General_CP1_CI_AS",如果字段为varchar,插入中文,数据库显示为"",且数据无法修复。解决办法如下:
1。 修改字段排序规则为"Chinese_PRC_CI_AS",varchar改nvarchar,SQL插入语句中,中文字符前加"N",可以插入中文字符。
2。 修改数据库排序规则为"Chinese_PRC_CI_AS",字段保持varchar,SQL语句不变,插入中文失败,查看字段属性后发现,字段排序规则实际上没有变化,还是默认为"SQL_Latin1_General_CP1_CI_AS",再修改字段排序规则,varchar不变,SQL不变,可以插入中文字符。
总结:
1。 修改系统排序规则没有试过。
2。 修改数据库排序规则不会把数据库中字段的排序规则改掉,但是为了显示中文,数据库排序规则必须改。
3。 仅仅修改字段排序规则,还不能完全解决问题。MSSQL本来就有中文版的,没必要汉化。
PS:数据库没人去汉化,你不知道汉化之后不稳定吗?oracle是一个著名的大型数据库系统,可以没有谁去汉化他。IT领域,最好还是学多点英语。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)