|
SQLite3 用の ODBC ドライバの日本語対応をした者です。
まず、SQLite3 に関してですが、SQLite3 では文字コードについては、Unicode での運用が原則になります(SQLite3 のホームページを参照してください)。
SQLite3 は厳密には文字コードのチェックはしていませんので、Shift_JIS のデータでも、EUC のデータでも突っ込むことができますが、選択や並べ替えの際に不都合が生じるかも知れません。
次に、SQLite3 用の ODBC ドライバ(日本語対応版)ですが、これは SQLite3 のテキストデータが、Unicode(UTF-8)であることを前提に、それを取り出す際に、SJIS に文字コードを変換するようになっています。
ですので、おさっちさんのデータのように、中身が EUC になっていると正常に文字コードの変換が行えません。
何か理由があって、元のデータが EUC になっているのでしょうが、SQLite3 が EUC に対応していない以上、このままデータを加工するのは別のトラブルの原因にもなりかねませんので、あまりお薦めできません。
私でしたら、元のデータを一度 CSV 形式でテキストデータに書き出して、iconv などのツールで文字コードを UTF-8 に変換した上で、別の新しい SQLite3 のデータベースに読み込み、そちらのデータベースに ODBC 接続するというような運用を考えます。
|
|