[pgsql-jp: 31352] Re: 文字コードに問題のあるDBへのODBC 接続

HOTTA Michihide hotta @ net-newbie.com
2003年 10月 29日 (水) 10:54:45 JST


堀田です。

From: 伊東 <nito @ d-l.jp>
Subject: [pgsql-jp: 31342] 文字コードに問題のあるDBへのODBC 接続
Date: 2003/10/28 19:20:09

> バージョン	:PostgreSQL 7.2.1
> ODBC		:7.01.00.06
> ms-access	:2000
> 
> という環境で
> エンコードが LATIN1 のDBに SJIS をそのまま入力しているDBがあり
> そこへ ODBC を使い、MSアクセスから接続したいのですが、
> 
> ODBC の Connect Settings に
> set client_encoding = 
> 
> を設定したりと工夫したのですが文字化けが直らず
> 四苦八苦しています。

PostgreSQL が動いている OS が書いていないので Linux と仮定しま
すが、DB に SJIS でそのままデータを突っ込んでいる、ということで
いいんですよね?

PostgreSQL は、そもそも日本語が正しく扱える状態でインストールさ
れているのでしょうか?

# pg_config --configure でわかるかな?
# この時代にはまだなかったんでしたっけ?

手元の環境ではこんな風に出ます。

$ pg_config --configure
'--prefix=/usr' '--disable-rpath' '--with-perl' '--with-tcl' 
'--without-tk' '--with-python' '--with-openssl' '--with-pam'
'--enable-nls' '--sysconfdir=/etc/sysconfig/pgsql'
'--mandir=/usr/share/man' '--docdir=/usr/doc' 
'--includedir=/usr/include' '--datadir=/usr/share/pgsql' 
'CFLAGS=-O2 -m486 -fno-strength-reduce'

RedHat 系の場合は、以下でも(なんとなく)わかります。

$ rpm -qa|grep ^postg
postgresql-jdbc-7.3.4-0vl1
postgresql-tcl-7.3.4-0vl1
postgresql-pl-7.3.4-0vl1
postgresql-libs-7.3.4-0vl1
postgresql-python-7.3.4-0vl1
postgresql-contrib-7.3.4-0vl1
postgresql-devel-7.3.4-0vl1
postgresql-docs-7.3.4-0vl1
postgresql-server-7.3.4-0vl1
postgresql-7.3.4-0vl1
postgresql-test-7.3.4-0vl1

たぶん、今後もこれ以外にもいろんな問題が出てくる可能性があるので、
もし可能であれば、いったん pg_dump で全データをテキストに落とし
た後、正しく日本語が扱えるように PostgreSQL を設定 or 新しいバー
ジョンをインストールし直した後、initdb してデータを書き戻すよう
にした方がいいと思います。

急がば回れ、です。
-- 
堀田 倫英 <hotta @ net-newbie.com> <http://www.net-newbie.com>



pgsql-jp メーリングリストの案内