SQLiteの面白さ(8) sqlite3odbcまわりの話はここで一旦休憩
やはり、Accessがないとテストがうまくできない。手もとのOpenOffice.org Baseでは、ODBC経由でSQLiteを使おうとしてもうまくいかなかった。sqlite3odbcの文字コードまわりの処理がどうも完璧ではないようだ。カラム名は表示できても中のデータは表示できない(エラーとなって、文字化けどころではなくテーブル自体が開けない)。
sqlite3odbcの設定画面でNo_WCharにチェックを入れておくと強引なUTF-16への変換が行われなくなるので、OpenOffice.orgなどではこのチェックを入れておいたほうがよさそうだ。逆にUTF-16をデフォルトで扱えるアプリケーションならば、このチェックを外したほうがいいのだろう。ここにチェックが入っていないと、sqlite3odbcにより、テーブル名からカラム名から格納したデータ(TEXT形式のみ)まで、「元はUTF-8と仮定して」UTF-16に変換され、呼び出しもとのアプリケーションに渡されることになる。
と、こういうプログラミング関係の話をしていても本題から離れていくばかりなのでこの辺で打ち止めにして、次回からはAccessを使っているとなかなかわからない、リレーショナルデータベースの話を先に進めていくことにしようと思う。
sqlite3odbcの設定画面でNo_WCharにチェックを入れておくと強引なUTF-16への変換が行われなくなるので、OpenOffice.orgなどではこのチェックを入れておいたほうがよさそうだ。逆にUTF-16をデフォルトで扱えるアプリケーションならば、このチェックを外したほうがいいのだろう。ここにチェックが入っていないと、sqlite3odbcにより、テーブル名からカラム名から格納したデータ(TEXT形式のみ)まで、「元はUTF-8と仮定して」UTF-16に変換され、呼び出しもとのアプリケーションに渡されることになる。
と、こういうプログラミング関係の話をしていても本題から離れていくばかりなのでこの辺で打ち止めにして、次回からはAccessを使っているとなかなかわからない、リレーショナルデータベースの話を先に進めていくことにしようと思う。
この記事へのコメント