当前位置: 代码迷 >> Sql Server >> SQL2012 中文字符变乱码了,该如何处理
  详细解决方案

SQL2012 中文字符变乱码了,该如何处理

热度:133   发布时间:2016-04-24 09:55:03.0
SQL2012 中文字符变乱码了
最近更换数据库服务器,新的服务器安装SQL2012版本,但旧有的是SQL2000版本。需要把数据从2000还原到2012,由于2012无法直接还原2000的备份文件,所以要先还原到SQL2005,然后在2005中备份后还原到SQL2012。在还原到2012后,原有的简体中文和繁体中文数据变成了乱码(一堆问号???),在web页面上新增数据,保存到数据库后也是乱码,请高手帮帮忙,要怎么解决呢?是要在哪里设置吗?先谢谢了。
------解决思路----------------------
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
 
IF @@ROWCOUNT<>0
    exec(@sql)
 else
    break
end