もう4時なんですけど…。 早く寝ろよ。
SQLiteのODBCドライバいじり。
UTF-8ドライバが上手くうごかん。 SQL_C_CHARを返す時にUTF-8のまま返してる、っていうのはまだ良いんだけど、それ以外の時も文字化けする。
それ以外っていうのは、つまりSQL_C_WCHARを返す時なんだけど。UTF-8とWCHAR間の変換を間違ってるとしか思えない。 でもそんなの簡単なんだけどなー。 で、見てると。文字にマスクをかけてからシフトするべき所でシフトしてからマスクしてやがる。 だめだこりゃ。
直してみたら、ADO.NETのODBCドライバからもちゃんととれた。 よし、これでDataGridがまともに使えるぞ。 インストールしてないから試してないけど、多分Accessからもいけるだろう。
SQL_C_CHARを返す時の処理も文字コード変換してやれば良いんだけど、ちょっと面倒だな。 wcstombsとかで変換してやるのが良いのか。 うまくいけば、OpenOfficeからも取れるかな?
もう寝よ。