我有一个带有 UTF-8 数据的实时 MySQL 数据库。我正在尝试将其迁移到 SQL Server 2005。
所有表字段和所有数据均采用 UTF8 格式。
目标数据库将具有 SQL_Latin1_General_CP1_CI_AS 排序规则。到目前为止,我所做的是创建与我的 MySQL 数据库的 ODBC 连接并执行以下操作:
EXEC master.dbo.sp_addlinkedserver @server = N'MYSQL2', @srvproduct=N'MySQL', @provider=N'MSDASQL', @provstr=N'DRIVER={MySQL ODBC 5.1 Driver}; SERVER=SERVERHOST; DATABASE=mysqldb; USER=mysqluser;PASSWORD=PASSWORD; OPTION=3;charset:utf8;';
select * into mssql.dbo.members from openquery(MySQL, 'select * from mysqldb.members');
我的 SQL Server 的排序规则是 Greek_CI_AS。
目标数据库有 SQL_Latin1_General_CP1_CI_AS 排序规则,我用 Greek_CI_AS 排序规则创建了另一个,只是为了看看这是否是问题所在。
导入进展顺利,SQL Server 中的所有表字段均已正确创建,但存储的数据编码为 ISO-8859-7(我假设来自 Greek_CI_AS 排序规则)。
这是一个问题,因为我们当前的站点有 UTF-8 页面,并且应该保持这种状态。
如果我使用 Firefox 和 MDDB2 来尝试获取数据,我会感到困惑。如果我将 View-> encoding 更改为 ISO-8859-7 我可以正确看到数据..但这不是解决方案
那么如何进行此迁移并在目标 SQL Server 上使用正确的编码?
任何帮助表示感谢