昨日から痛風状態でしたが、起きて色々やってたら益々ひどくなってまいりました。
ということで(;´Д`)水飲み中
作業中のPCにMS-Access入れるのが面倒だし正規ライセンスのCDがどこかに行ってしまったので(;´Д`)MDB Toolsを試してみることに・・・
したわけですが、普通に配布されている mdbtools-0.6pre1.tar.gz ではもう全然漢字とか通りませんでしたので、cvs版を取ってまいりました。やりかたは https://sourceforge.net/projects/mdbtools/developに書いているとおりです。ちなみにcvs login時のパスワードは無しなので、Enterだけ押しておきます。modulenameはmdbtoolsです。実行後にmdbtoolsというディレクトリが出来ていますので、cdで降りて、./autogen.shを実行後にmakeですねヽ(´ー`)ノ。
しかし、やっぱり漢字が通らないのでしばらくコードを眺めておりましたら、MDBICONVとかMDB_JET3_CHARSETとか環境変数を使ってくれることがわかりましたので、
export MDBICONV=WINDOWS-31J
printfなど入れたりしながら動きを追ってみましたところ、HAVE_ICONVがdefineされている時に通るべきコードを通っていないことが判明(;´Д`)簡単なパッチ作って対応。とりあえずJET3というかMS-Access2000でフィールド名とかテーブル名に漢字使ってても大丈夫にはなりました。
diff -u -r mdbtools/src/libmdb/file.c mdbtools.fix/src/libmdb/file.c
--- mdbtools/src/libmdb/file.c 2005-06-28 13:53:40.000000000 +0900
+++ mdbtools.fix/src/libmdb/file.c 2009-09-09 04:02:47.000000000 +0900
@@ -17,6 +17,7 @@
* Boston, MA 02111-1307, USA.
*/+#include "config.h"
#include "mdbtools.h"#ifdef DMALLOC
diff -u -r mdbtools/src/libmdb/iconv.c mdbtools.fix/src/libmdb/iconv.c
--- mdbtools/src/libmdb/iconv.c 2005-09-08 08:27:43.000000000 +0900
+++ mdbtools.fix/src/libmdb/iconv.c 2009-09-09 04:00:36.000000000 +0900
@@ -17,6 +17,7 @@
* Boston, MA 02111-1307, USA.
*/+#include "config.h"
#include "mdbtools.h"
#include "errno.h"