UTF-8 データを含むライブ MySQL データベースがあります。SQL Server 2005 に移行しようとしています。
すべてのテーブル フィールドとすべてのデータは UTF8 です。
宛先データベースには SQL_Latin1_General_CP1_CI_AS collation が含まれます。これまでに行ったことは、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 で正しいエンコーディングを使用するにはどうすればよいでしょうか?
どんな助けでも感謝します