[pgsql-jp: 25942] Re: TLJ6.0+postgreSQL→ODBC EUC のまま(×) TLJ6.0+postgreSQL →libpq.dll SJISに変換(○)

asaka parasol @ anet.ne.jp
2002年 5月 14日 (火) 21:03:00 JST


こんにちは。
あさかいです。

石田様ありがとうございます。
ご指示どおり行ったところ無事日本語が表示できました。

ODBCは、片岡さんのものを使用しています。
ACCESSだけでなく「http://www.hi-ho.ne.jp/tsumiki/」(CSE)を使用してODBC経由
でも発生していました。

インターネットで調べて「ODBC」は、接続条件(データベース名、サーバー名、
ログイン名、ポート番号、パスワードを入力するのみ)で表示できるように記載され
ていたので、悩んでいました。
.bashrcには、
「export PGCLIENTENCODING=SJIS」
と定義して表示できており、さらにcreate文やinsert文で
「\encoding SJIS」
としていたので、「SJIS」という単語に影響していたのかも知れません。

 DB    データ   ODBC
EUC_JP  SJIS    EUC_JP

データがSJISなのにODBCでEUC_JPに変換するのが少々疑問に残ります。


又、他のLINUXでは、石田様のご指示の内容のような設定をしなくても
表示できているので、悩んでいます。この件につきましては比較しながら
調査していきたいと思います。


----- Original Message -----
> こんにちは。石田です。
>
> On Tue, May 14, 2002 at 05:05:52PM +0900, asaka wrote:
> > あさかいと申します。
> >
> > TurboLinux6.0+postgreSQL7.2←→ODBC+ACCESS97でシステムを構築する事になり
まし
> > た。
> > まず、旧バージョンがインストールされているため、「rpm -e postgre」で検索
・削
> > 除しました。
> > 次に、サーバーにpostgreSQLをインストールしました。
> > postgreSQLは、「./configure … --enable-multibyte=EUC_JP」として行い、
> > 「make」「make install」「initdb」「createdb test」し「psql -l」として確
認し
> > たところ、「EUC_JP」と表示されています。「psql」コマンドでDBを操作したと
こ
> > ろ、日本語が表示されます。(ここまではOKです。)このときのinsert文の1行
目に
> > 「\encoding SJIS」としています。
> > クライアントにpostgreSQL日本語版ODBCとACCESS97をインストールしました。す
る
> > と、DBに格納されている日本語がEUCのまま表示されます。クライアントに
libpq.dll
> > とpqsql.exeをインストールし動作確認したところ、日本語がSJISで表示されま
す。
> > ODBCの設定で、
> > [DataSource]の[ConnectSettings]にSET CLIENT_ENCODING TO 'SJIS';
> > と設定してもだめでした。 (この設定は現在使用していないそうですね。)
>
> 何故 Access だけ化けるのかはよくわかりませんが。
>
> 使われている odbc ドライバが片岡さんのものであれば、
> ( http://www.interwiz.koganei.tokyo.jp/software/PsqlODBC/ であれば)
> ODBC ドライバ内に、EUC -> SJIS 変換をする機能があるので、
> むしろ
> [DataSource]の[ConnectSettings] を SET CLIENT_ENCODING TO 'EUC_JP';
> としたほうが良いでしょう。
>
> --
> ISHIDA Akio
>
>




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