私はUTF-8データを含むライブMySQLデータベースを持っています。私はそれをSQL Server 2005に移行しようとしています。mysqlからSQL Server 2005へのutf-8データの移行
すべてのテーブルフィールドとすべてのデータはUTF8です。
宛先データベースには、SQL_Latin1_General_CP1_CI_AS照合があります。
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であり、照合: は私が何をしたか、これまでに以下の私のMySQLデータベースへのODBC接続を作成して行うことでした。
宛先データベースにはSQL_Latin1_General_CP1_CI_ASの照合順序があり、それが問題であるかどうかを確認するために、別の照合順序をGreek_CI_AS照合で作成しました。
インポートが正常に行われ、SQL Serverのすべてのテーブルフィールドが正しく作成されましたが、格納されたデータにはISO-8859-7のエンコーディングが含まれていました(ギリシャ語の照合から推定されます)。
私たちの現在のサイトはUTF-8ページを持っているので、これは問題ありません。
FirefoxとMDDB2を使用してデータを取得しようとすると、混乱した文字が表示されます。 View-> encodingをISO-8859-7に変更すると、データが正しく表示されますが、これは解決策ではありません。
この移行方法と出力先SQL Serverの正しいエンコード方法は?
任意のヘルプはあなたがMS SQL側で使用しているデータの種類を教えする必要が おかげ