MySQLデータベースの移設(EUC-JP→UTF-8) ACCESS編

 

以前はMySQL4.0系+MS-ACCESSでデータベースシステムを組んでいたため、MySQLの文字コードをLinuxに合わせてujisに設定し、MyODBCドライバーにSOFT AGENCYが配布していたujis⇔shift-jis変換機能付のドライバーを使用してACCESSで操作できるようにしていました。

しかし、その後ハード・OS・サーバーツールともにどんどん進化し、新しいサーバーではこれまでの組み合わせでのシステムは組めなくなりました。

現在では新しいサーバーにインストール可能なFedora10以降+MySQL5系でシステムを組んでいますが、MySQLの文字コードを強制的にujisに設定することで、以前のシステムで使っていたデータベースをそのまま使用できています。

ただ、すでにujis⇔shift-jis変換用dllの配布も、それに対応するMyODBCドライバー3.51.06の配布も終了しているようですので、今後は現在使用中のデータベースをUTF-8に変換して、UTF-8でシステムを組むことになりそう、、ということで実際に試してみました。

まずはmy.cnfでMySQLの文字コードをUTF-8に設定し、別サーバーで稼動しているujisのデータベースのバックアップファイルをUTF-8に変換してサーバーに取り込みました。

次にWindows機にMyODBCドライバーの最新版5.1.7をインストールしてODBCデータソースアドミニストレータで設定してみましたが、エラーになった上に編集も削除も出来なくなってしまいました。

そこで少し古いバージョンの3.51.27をインストールしてみたところ、ODBCデータソースアドミニストレータでの設定はできました。

ただ最初は設定方法が分からず、ACCESSで日本語のデータを表示させると思い切り文字化けしてたんですが、下記の設定にしたところ問題なく日本語のデータを操作できるようになりました。
 ・ODBCアドミニストレータでの設定
  文字コードを「CP932」に指定
  AdvancedタブのFlags1の「Always handle binary function results as character data」にチェックを入れる

これでこれからUTF-8を使ったMySQL+ACCESSのデータベースシステムも問題なく組めそうです。

 

 

Follow me!

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

Optionally add an image (JPEG only)

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

前の記事

WORD PRESSにトライ

次の記事

IEが変だぞ!