[pgsql-jp: 28999] Re: 7.3.xのJDBC ドライバで,特定文字のみ文字化け

T.Suzuki t_suzuki @ kenwood-eng.co.jp
2003年 2月 10日 (月) 18:55:13 JST


お世話になっています.鈴木です.

松田さん,山口さん,分かりやすい解説ありがとうございます.
エンコードの流れをまとめようと思っていたのですが,苦戦していたので大変参考に
なりました.

松田さん wrote :
> PostgreSQL JDBC付属のサンプル、"example.psql"をLinuxのコンソールで
> 実行しても、"−"や"〜"などで変換エラーになってしまいました。
> Windowsのコンソールから実行すると大丈夫でした。
>
> EUC_JP=UNICODEのマッピングが、PostgreSQLとJavaで異なっているように
> 思います。PostgreSQLの方はJavaで言うところの、SJIS ではなく MS932 と
> 互換性があるような感じです。(うーん、なんとか暇を作って調べてみます)
コンソールを変えた実験は,思いつきませんでした.参考になります.

> > マニュアルを読み返してみると,UNICODEの変換テーブルは
> > "-enable-unicode-conversion "
> > の指定が必要との事で,再インストールを行ってみました.
>
> 7.3からは、この指定は不要になりました。必要に応じて、ダイナミック
> ローディングされたはずです。
7.3に付属している英語のドキュメントを拝見したところ,
このトピックが無くなっていましたね.失礼しました.

山口さん wrote :
> PostgreSQL のソースを変更しないですむワークアラウンドとしては、
>
> ・これまでにも出ましたが JVM との入出力を MS932 変換にしてしまう。
>   1.4 ならば Windows-31J などです。
>   # Shift_JIS はJDKのバージョンにより変換が異なりますので注意してください
ご忠告ありがとうございます.
さっそく,JSPとServletの修正をしました.

> ・PostgreSQL のコンバータを使わない
>   PostgreSQL を Unicode にして psql も Unicode にする。
この方法も考えましたが,Unicodeのデータベースにする事で,
PHPやODBCといった他のインターフェースへの影響が私には予測できないので,
JVMの入出力を変更する事で対応したいと思います.

 -----------------------------------------
      鈴木 徹 (SUZUKI Toru)
      KENWOOD ENGINEERING CORPORATION
      E-mail:t_suzuki @ kenwood-eng.co.jp
 -----------------------------------------




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