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

Chie.M gontakun @ check.ne.jp
2002年 10月 29日 (火) 10:55:17 JST


高石さん、何度もありがとうございます。

> /etc/profile を編集しているうちに必要な部分を書き換えてしまっ
> たということはありませんか。
> 私の環境では、/etc/profile の最後に、
> 
> cd "$HOME"
> test -f ./.bashrc && . ./.bashrc
> 
> と書いてあって、ここでホームディレクトリの.bashrcを読み込ん
> でいます。

最後の行に必要な行を追加をしただけ、のつもりですが、
.bashrcを読み込んでいるこの行がなかったです(^_^;)。
> test -f ./.bashrc && . ./.bashrc

追加したところ、.bashrcを読み込むようになりました。
ありがとうございます。

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

alias psql='PGCLIENTENCODING=SJIS;psql' を追加し
alias で確認したところ、alias psql='PGCLIENTENCODING=SJIS;psql' 
という表示が出るようになりました。

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

alias psql='PGCLIENTENCODING=SJIS;psql' は上記の通り
認識しているようですが、psqlを起動して確認すると、文字化けしたままに
なっています。Access側では化けていません。

alias psql='PGCLIENTENCODING=SJIS;psql'の代わりに
export PGCLIENTENCODING=SJISにしますと、psqlの文字化けは解消されますが
Accessでリンクしているテーブルのデータが#Deletedになったり、文字化け
したりします。

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

はい。.bashrcは読み込めるようになりました。

> あと念のため確認ですが、いろいろ試しているうちに、確認に使っ
> ているDB内のデータそのものが異状になっているということはあり
> ませんか?
> CLIENTENCODINGの設定をしていない状態で、Cygwin上から日本語を
> 含む文字列をinsertしたとか。

「CLIENTENCODINGの設定をしていない状態で、Cygwin上から日本語を
含む文字列をinsert」は1行だけやってみましたが、正常に表示されている時に、
その行だけ化けてるので判断ができています。

さらに、export PGCLIENTENCODING=SJISを.bashrcに記述して起動した
状態で、Cygwinからデータを入力してみました。
アルファベットだけの行はAccessから読み取れますが、一文字でも日本語が
入っていると、Accessから#Deletedになります。

export PGCLIENTENCODING=SJISせず、Accessで日本語が正しく見える
状態の時にデータを追加した物も、Cygwinから追加したデータと同じ状態になり
ます。

DBについては、新規に作り直した物でテーブルリンクをして見ました。
こちらも同じ結果になります。うーん・・・。。。

------------------------
From:Chie.M
 gontakun @ check.ne.jp
------------------------




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