我公司原中文网站后台所使用的是MYSQL数据库,编码格式为UTF-8。新中文网站后台所使用的数据库是SQLServer2005,字符集为GB18030。如果直接转换将导致乱码(虽然该字段类型为utext)。 直接通过MySql的ODBC转进SqlServer2005后,其中的文本内容全是“?” 虽然该字段的文本类型已经被自动转为了ntext类型,但是不起作用。 虽然可以通过程序来依次读出内容并更改字符集,但是我们可以使用更为简便的方法。那就是Navicat转Access转SqlServer。 打开Navical,我所使用的是8.0.22版本。连接数据库并展开,在要导出的表上面右击(可以对所有表导出,也可以对某个表导出)。选择“Export Wizard”。 右击“表”选择“Export Wizard” 选择MDB类型 选择要导出的表,然后选择导出的mdb文件保存的位置。 还可以通过“All Fields”选项来控制要导出的列。 然后一路“Next”下去,点击“Start”导出为mdb文件。 然后我们使用Access打开mdb文件并转换sqlserver(使用access2007) 打开后的数据库文件,可以看到已经没有乱码了。 下一步就要展现access2007的强大功能了。 如图所示,选择“数据库工具”->“移动数据”->“SQL Server” 不论是选择“使用现有数据库”还是“新建数据库”,都需要先设置好SQLServer的ODBC连接。 然后一路“下一步” 导出完毕后,access会给出一个升迁报告。 介个时候我们再打开SQLServer中的表,就可以看到正常的代码了。 如果mysql和mssql所使用的字符集一致的话,那么通过access的导入外部数据可导入mysql的数据,然后再通过“升迁向导”将数据导入到sqlserver里面去。这样就省却了navical导出的这一步骤。但是多了建立mysql的odbc的步骤......