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

鈴木 徹 t_suzuki @ kenwood-eng.co.jp
2003年 2月 6日 (木) 23:01:50 JST


始めまして,鈴木と申します.
PostgreSQLを使い始めて1年程度です.よろしくお願いします.

さて,件名についてですが,
Servlet/JSP + PostgreSQLで開発を行っている際に,PostgreSQLとドライバ
をバージョンアップした所,
JDBC経由で取得したデータの,特定の文字が化けてしまいます.

    ----------------------------------
 環境
 PostgreSQL7.3.2(,PostgreSQL7.3.1)
 JDBC:pg73jdbc3.jar (http://jdbc.postgresql.org/)
 JDK:1.4.0_01
 Tomcat 4.0.4
 OS:Vine Linux 2.6
    ----------------------------------

例)
pgsql等で問い合わせたデータ
    住所:東京都 渋谷区 1−2−3
JDBCで問い合わせ結果
    住所:東京都 渋谷区 1?2?3

 ※「−」が化けています.

先日,PostgreSQL 7.2.3 から 7.3.1にバージョンアップしました.
それに伴って,http://jdbc.postgresql.org/より "pg73jdbc3.jar" をダウ
ンロードして入れ替えました.

どうも,7.3.x でコンパイルされるJDBCを使用すると文字化けします.
PostgreSQL7.3.2 では JDK 1.4 でも問題なくJDBCが作成出来たので,
そのドライバを使用しても文字化けしました.

http://jdbc.postgresql.org/ より,7.2.x 用の "pg72kdbc3.jar" をダウン
ロードすると,文字化けは発生しません.
(ただし,TaglibsのJSTL.sql の transaction タグが使用できません)


JDBCを使用して「〜,‖,─,−」等の文字が化けるのは既知の問題ですが,
PostgreSQLの場合は 7.2 以前用のドライバを使用すれば文字化けはおこりま
せんでした.

下の過去ログにて,
http://ml.postgresql.jp/pipermail/pgsql-jp/2002-March/000341.html
PostgreSQLは,独自の変換エンジンを持ってるとの事ですが,
バージョンアップで仕様が変わったのでしょうか?

7.3.x のドキュメントに目を通しましたが,エンコーディング関係で変更が
あった記述を見つけられませんでした.

PostgreSQLの7.3.x を使用する場合,文字エンコーディングの対策をしない
といけないのでしょうか?

対策,もしくは 7.3.x JDBC の変更点に関して情報がありませんでしょうか?

よろしくお願いします.
-----------------------------------------
     鈴木 徹 (SUZUKI Toru)
     KENWOOD ENGINEERING CORPORATION
     E-mail:t_suzuki @ kenwood-eng.co.jp
-----------------------------------------




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