У меня есть живая база данных MySQL с данными UTF-8. Я пытаюсь перенести его на SQL Server 2005.
Все поля таблицы и все данные в формате UTF8.
База данных назначения будет иметь параметры сортировки SQL_Latin1_General_CP1_CI_AS.
На данный момент я создал ODBC-соединение с моей базой данных MySQL и сделал следующее:
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-> на ISO-8859-7, я вижу данные правильно ... но это не решение
Так как же выполнить эту миграцию и иметь правильную кодировку на целевом SQL Server?
любая помощь приветствуется
спасибо