[pgsql-jp: 27816] Re: ODBC経由での日本語表示とCygwin上での日本語表示

rio-t @ presen.to rio-t @ presen.to
2002年 10月 28日 (月) 20:24:39 JST


こんにちは、高石です。

なんとなく、実はごく単純なことでひっかかっているというような
感じがします。

From: "Chie.M" <gontakun @ check.ne.jp>
Subject: [pgsql-jp: 27815] Re: ODBC経由での日本語表示とCygwin上での日本語表示

> それが・・・私の環境ですと、ホームディレクトリ上にある
> .bashrcをなぜかうまく認識しなかったのです。

/etc/profile を編集しているうちに必要な部分を書き換えてしまっ
たということはありませんか。
私の環境では、/etc/profile の最後に、

cd "$HOME"
test -f ./.bashrc && . ./.bashrc

と書いてあって、ここでホームディレクトリの.bashrcを読み込ん
でいます。

> > それができないのなら、あまり賢い方法ではないかもしれませんが、
> > 
> > .bashrcで、
> > export PGCLIENTENCODING=SJIS
> > とするかわりに、
> > alias psql='PGCLIENTENCODING=SJIS;psql'
> > などとしておくのはどうでしょう。
> 
> ありがとうございます。やってみましたが、
> やはりAccessの方がおかしくなりました。

これはおかしいです。ここでやっているのは、手動で
PGCLIENTENCODING=SJISとしてからpsqlを起動するのと同じことな
ので、それだけで影響が出るとは思えません。
おそらく別のところで何か変えてしまったのだと思います。

まずは、Accessで日本語が正常に使える状態にして。
(Cygwin上のpsqlでは日本語の表示が文字化けする状態でOK)
その後、.bashrc に
alias psql='PGCLIENTENCODING=SJIS;psql'
という一行だけ追加して、それ以外はなにもせずに Cygwinのコン
ソールを新たに起動。
そこでpsqlを起動して日本語の表示が化けるかどうか確認してみて
下さい。

ちなみに、このaliasの設定が有効になっているかどうか確認する
には、bash上で、
alias
とだけ入力して実行してみればわかります。
もし、alias psql='PGCLIENTENCODING=SJIS;psql' という表示が出
なければ、.bashrcを認識していないということでしょう。

このへんの前提条件をはっきりさせておかないと、問題の切り分け
ができずに、無駄な労力を使うだけになりかねません。

あと念のため確認ですが、いろいろ試しているうちに、確認に使っ
ているDB内のデータそのものが異状になっているということはあり
ませんか?
CLIENTENCODINGの設定をしていない状態で、Cygwin上から日本語を
含む文字列をinsertしたとか。
/--------------------------------------------------------/
  高石 勇人 < 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 メーリングリストの案内