[pgsql-jp: 26801] Re: Win Pgaccess で文字化けてます
rio-t @ presen.to
rio-t @ presen.to
2002年 7月 23日 (火) 00:46:11 JST
こんにちは、高石です。
From: Amuro Ray <gundam @ fa2.so-net.ne.jp>
Subject: [pgsql-jp: 26799] Re: Win Pgaccess で文字化けてます
> 高石さんと永安さんのスレッドから
> PGCLIENTENCODING
> を設定してもだめということはよくわかりました。
> libpgtcl.dll!?に落とし穴があるのですね。
だめではありません。
Tcl/Tkのバージョンが8.1以降だと、内部コードがUnicodeになって
いるため、client_encodingも強制的にUnicodeになるというだけで
す。
TclTk8.0を使っているなら、PGCLIENTENCODINGを設定しておけば、
ちゃんと効果があります。
> > (1) PgAccessのフォント設定をMSゴシックに変更。
> > (2) 既存のEUC_JPなDBを見て日本語が化けることを確認。
> > (3) pgaccess実行ファイルのexecの前に次の二行を追加。
> >
> > PGCLIENTENCODING=SJIS
> > export PGCLIENTENCODING
> >
> > (4) (2)のDBを見て日本語が化けずに表示されることを確認。
> > (5) PgAccess上で日本語の文章を入力してInsert。
> > (6) (5)でインサートした日本語を、普段使っているpsqlで
> > selectして表示。正しく入力できていることを確認。
>
> ですが、(3)が実行できず、わかりません。
> Windows用Pgaccess(Tcl/tk Interface)なのですが、pgaccess
> 実行ファイルとはmain.tclのことでしょうか?
失礼しました。
直接 main.tcl を実行していたのですね。
Windows環境ならそれが普通ですよね。
ついCygwin環境を前提に書いてしまいました。
であれば、pgaccess.bat を作って、
SET PGCLIENTENCODING=SJIS
"c:\Program Files\tcl\bin\wish80jp" c:/usr/local/pgaccess/main.tcl %*
こんな感じでいけると思います。
ファイルのパスは適宜読みかえて下さい。
もしくは、単純にシステムの環境変数にPGCLIENTENCODINGを設定し
ておくだけでもいいはずです。
# 設定後、Windowsを再起動した方がいいかもしれません。
> 高石さんはCygwin(今回はじめて知りました。)をお使いだとい
> うことですが、UNIX系pgaccessをWindowsで使用したというこ
> とでしょうか?
> それとも、Windows系pgaccessなのでしょうか?
PgAccessのオフィシャルサイト(http://www.flex.ro/pgaccess/)か
ら、Windows用のZIPアーカイブをダウンロードしました。
多分同じものですよね。
というわけで、使ったのはWindows用のPgAccessだったのですが、
main.tclを直接実行せずに、Cygwinのbashシェルから、main.tclと
同じディレクトリにある "pgaccess" の方を実行していました。
# 私の場合、普段からこういう使い方が普通だったもので(^^;
/--------------------------------------------------------/
高石 勇人 < rio-t @ presen.to >
PGP Key(RSA): http://rio-t.presen.to/pgp/mykey.asc
(DSS): http://rio-t.presen.to/pgp/mykey-dss.asc
/--------------------------------------------------------/
pgsql-jp メーリングリストの案内