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