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

ISHIDA Akio iakio @ pjam.jpweb.net
2002年 5月 14日 (火) 19:47:52 JST


こんにちは。石田です。

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 メーリングリストの案内