[pgsql-jp: 36164] Postgres8.0.3Windows 文字化け

koyama mlus @ hintmark.com
2005年 10月 18日 (火) 04:05:54 JST


k7-koyamaと申します

Postgres8.0.3 or 8.0.4 をWindows2000 Pro にインストール
したのですが、どうやってもODBC経由の文字化けが回避できません。

以下はやった手順です

Postgresの ja パッケージ(zip)をダウンロード

C:\postgres803 フォルダにインストール指定

initdb用の文字コードに  EUP_JP (デフォルト選択)を指定

psql から createdb -U postgres DB名 実行
pgAdmin で確認したところ EUC_JP で作成されている

ユーザー user1 作成

DBに abc スキーマ作成 
CREATE SCHAME abc;
GRANT USAGE ON abc to user1; で権限付与

CREATE TABLE abc.tb1 (
 col1 VARCHAR(50) NOT NULL,
 col2 VARCHAR(50) NOT NULL,
CONSTRAINT tb1_pk PRIMARY KEY(col1)
);
GRANT SELECT,INSERT,UPDATE,DELETE ON abc.tb1 TO user1;
INSERT INTO abc.tb1 VALUES('これは','テスト');

PgAdmin の DBプロパティにcliend_encoding=SJISを追加

ODBCソースをユーザーデータソースに作成
MSAccessより、接続し、abc.tb1 をリンクして、表示

カラムの内容は、#DELETED, #DELETED になる。

PgAdmin の DBプロパティにcliend_encoding=SJISを削除
カラムの内容は、#DELETED, #DELETED になる。


※PgAdminからの表示は問題なく表示されます。

※コンソールから、psql -U user1 DB名  で接続
 SELECT * FROM abc.tb1;
 'これは','テスト' が無事表示

※JDBC経由での表示は、何ら問題なく表示されます。


=====================================================
同じバージョン(8.0.2)の Linuxにインストールした
Postgresに対して、同じwindowsクライアントの、
MSAccess からののODBC経由の接続では、なんら問題なく、
日本語が表示されます。上記の場合と異なるのは、
createdb -E UNICODE DB名  としたところです
=====================================================

何の設定方法が悪いのでしょうか?

どうも、EUC_JP--SJISでのコンバート時問題があるような気が
しているのですが、不思議なのは、Linux(UNICODE)からの
表示は、なんら問題なく表示される事です。

ご存じの方がいらっしゃいましたら、ご返答よろしくお願い
いたします。





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