SQL SERVER 2012导出数据库备份文件的问题。

greenberet007 2013-05-27 02:42:56
SQL SERVER 2012导出数据库备份文件的问题。
客户要迁移网站,从新加坡迁移到国内,原来的服务器操作系统不知道,只知道是用DNN来做的网站,数据库是SQLSERVER2012,语言不知道。

现在的目标服务器,操作系统是WINDOWS2008 中文版,数据库是SQL SERVER 2008 R2,无法直接还原到数据库上,后要求客户重新备份成2008R2的备份文件,可以成功还原。

还原后,表中的某些列的字段中的中文变成了问号。

据分析,变成问号的都是用原网站上富文本编辑器编辑的内容。
用<input type='text'/>的都是正常的。

现在请问一下问题出在哪里?我该怎么将正确的中文弄出来?

谢谢。
...全文
464 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
铁歌 2013-05-31
  • 打赏
  • 举报
回复
unicode或国际字符集问题引起的。两个层次:1——数据库字符集需要保证一致,2--表列字符集需要保证一致 alter talle table1name alter column columnname 字符集关键字 字符集合名称 3. 如果插入语句到nvarchar之类的列需要对SQL语句前加'N'. 如insert into demo(id,name) values (1,N'中国')
software_artisan 2013-05-27
  • 打赏
  • 举报
回复
求2012备份成2008的方法!
hyrongg 2013-05-27
  • 打赏
  • 举报
回复
SQL Server 的字符集和新加坡那边保持一致就可以了
greenberet007 2013-05-27
  • 打赏
  • 举报
回复
引用 2 楼 DBA_Huangzj 的回复:
这种多语言的迁移最容易出问题的地方就是没有对文本使用nvarchar/nchar类型,导致数据乱码,你需要设置成这两个类型,然后把数据存进去,已经存进数据表里面的数据直接改类型是没有用的。另外如果是2012还原到2008/2008R2的话应该会报错的啊?高版本无法直接还原到低版本的。需要先处理的。
嗯 是的 我是让他们那边的人给我备份成sql2008版本的
xyc880813 2013-05-27
  • 打赏
  • 举报
回复
看看乱码那一列的数据类型是否是使用Unicode存储的 例如Nvarchar(128),Nchar(32)什么的
發糞塗牆 2013-05-27
  • 打赏
  • 举报
回复
这种多语言的迁移最容易出问题的地方就是没有对文本使用nvarchar/nchar类型,导致数据乱码,你需要设置成这两个类型,然后把数据存进去,已经存进数据表里面的数据直接改类型是没有用的。另外如果是2012还原到2008/2008R2的话应该会报错的啊?高版本无法直接还原到低版本的。需要先处理的。
Mr_Nice 2013-05-27
  • 打赏
  • 举报
回复
这个是字符集的问题。 lz检查一下两侧字符集用的是否一样

34,590

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧