D-Recovery For SQLServer Introduction...

数据库字符集对数据库做一个大体框架约束,比如区分大小写,有些字符集不区分大小写,创建一个表名字为Mytable后,你在创建一个表名字为 MyTable,是创建不了的。如果数据库选用的字符区分大小写,那么你可以创建表名字为 Mytable,可以再创建名字为 MyTable的表明,也可以创建表名字为mytable的表名字等等。

如果损坏数据库,还保留有字符集信息,那么导出数据时,新创建的数据库就会保留原有的字符集。如果损坏数据库的字符集信息没法判断,创建新数据库的时候,就会使用当前数据库环境的默认字符集信息。如果某些应用对字符集信息特别敏感,新建数据库默认字符集不能满足其应用需求,最好的办法就是手动创建数据库,指定好对应的字符集,然后导出数据的时候,选择已经创建好的那个数据库就行。

对于不同语言的操作系统和SQL Server数据库内部字段字符串的乱码问题的解释和处理: 一个典型的例子,在简体Windows环境下安装的MS SQL Server数据库服务器,如果有一个波兰语字符集或者数据库内部有波兰语非unicode字符串存储,数据导出会有些问题,就是显示不全或者乱码的现象,用低速导出方式可以解决乱码的问题,但这个可能会牺牲时间为代价,最后处理结果也不一定完全满意。

最彻底的解决方法就是,故障数据库原先在怎样的Windows语言和MS SQL Server数据库服务器环境,那导出数据的时候尽量选择一样的环境。比如原先数据库使用环境为中文繁体Windows环境,那导出数据的时候,就尽可能在中文繁体Windows环境下操作。原先数据库在波兰语Windows下使用,那么导出数据的时候就尽可能的在波兰语Windows环境上导出。