SQL2012不清楚,因为我的电脑上装的是2005~~ 如果你的SQL2012是英文版和SQL2000是中文版的,之前遇到过一位贴友,他的是因为中文版到英文版的问题~ 而如果你的SQL2012也是中文版,我想只能说微软越来越向标准靠拢吧~~SQL各个各个版本之间有时差异很大~~那位贴友的批量更新类型的脚本,我贴出来你参考下,有什么问题贴上来 while 1=1 begin declare @sql varchar(max) SELECT TOP (1) @sql='alter table '+b.name+' alter column '+a.name+' nvarchar('+cast(a.length as varchar(10))+')' from syscolumns a,sys.tables b where a.id=b.object_id and a.xtype=167
2、排序规则也试试,很多会因这个引起。数据库名称 右击->属性-> 选项->排序规则->选择为Chinese_PRC_CI_AS
1、插入的时候用N'汉字' --> 问题是原先的代码没有使用这样的写法,并没有出现乱码。只是在更换了数据库服务器和web服务器之后才出现的这个乱码问题。是否是数据库或者IIS的什么地方需要设置呢?
2、排序规则选择为Chinese_PRC_CI_AS --> SQL2000的排序规则是Latin1_General_CI_AI,还原到SQL2012后也是Latin1_General_CI_AI,为什么SQL2000的中文不是乱码呢?
你也可以统一在 IIS上设置,参考 如何在iis中设置站点的编码格式。2、都是中文版吗?
1、在网页中修改编码格式为gb2312,utf-8,繁体中文等,中文字体还是乱码
2、网页的编码格式大部分都是繁体中文big5的,数据库字段类型也是varchar和char,没有nvarchar和nchar类型,我试着把变成乱码的字段类型从varchar改成了nvarchar,乱码的确没有了,可是我很奇怪为何在SQL2000中这样的字段类型都能支持中文且网页上能正确显示中文,为何还原到SQL2012后就变成乱码了呢?如果要一个一个改变字段类型,那也有些太麻烦了,而且也担心将varchar改为nvarchar类型后会不会出现其他问题呢?还有就是目前sql2012服务器只是给客人测试,等测试没问题了,还要将最新的sql2000数据库还原到2012,到时又要全部更新一遍字段类型吗?
如果你的SQL2012是英文版和SQL2000是中文版的,之前遇到过一位贴友,他的是因为中文版到英文版的问题~
而如果你的SQL2012也是中文版,我想只能说微软越来越向标准靠拢吧~~SQL各个各个版本之间有时差异很大~~那位贴友的批量更新类型的脚本,我贴出来你参考下,有什么问题贴上来
while 1=1
begin
declare @sql varchar(max)
SELECT TOP (1) @sql='alter table '+b.name+' alter column '+a.name+' nvarchar('+cast(a.length as varchar(10))+')'
from syscolumns a,sys.tables b
where a.id=b.object_id and a.xtype=167
IF @@ROWCOUNT<>0
exec(@sql)
else
break
end
Dear ky_min,非常感谢您的耐心回复,我的问题已经解决了。问题出在Web Server的区域语言选项设定上,修改这个设定的Location为United States后,网页中的中文可以正常显示了。
Dear ky_min,非常感谢您的耐心回复,我的问题已经解决了。问题出在Web Server的区域语言选项设定上,修改这个设定的Location为United States后,网页中的中文可以正常显示了。原来还有这个地方会影响啊,感谢告知~~
记下来~~