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