[pgsql-jp: 33316] EUCの日本語がなくなる

Daisuke Fukao@SFL fukao.d @ sfl.fujitsu.com
2004年 6月 18日 (金) 21:52:00 JST


お世話になっております。ふかおと申します。

現在以下の環境でパッケージの開発を行っているのですが、表題の通り
PostgreSQLのテーブルにEUCJISコードの日本語データをinsertすると、日本語の
部分が空白で登録されるという現象が発生しております。
自分でもいろいろ調べてみたのですが、どうしてもわからず困っております。
皆様のお力をお貸しいただければと思います。

●環境
 OS  :TurboLinux 8.0 Workstation
 DB  :PostgreSQL 7.4.2
 JAVA:JDK1.4.2 SE
 JDBC:apache-ant-1.6.1を用いてソースからコンパイルして作成
 WEB :apache 1.3.29
 Servlet :JSDK2.0

●文字コード
 PostgreSQLのDB及びJAVAプログラムのソースコードは全てEUCで統一。

●処理の流れ
 1.クライアントのブラウザからデータをアップロード。
   ※データの文字コードはSJIS

 2.サーバ側でアップロードデータを解析し、ローカルディレクトリに出力。
   ※一応、サーバ上でデータを参照し、日本語文字が正常に参照できること
    から、データはEUCになっていると判断しています。

 3.ローカルディレクトリに保存されたアップロードデータを読み込み、DB
   にinsert。

●事象
 例えば、以下のようなデータをJAVAプログラムを通してinsertします。

  1,test,test(テスト)

 すると、insertされたテーブルでは、以下のようになります。
   num | hostid | hostname
   ----+--------+----------
  1     test     test()

 どうやら日本語の部分だけがなぜか削除(?)されているようです。

PostgreSQL側の問題かどうかはまだわからないのですが、もしこのような事象に
ついて、何か解決策がありましたらご教授頂けますでしょうか。

以上、よろしくお願い致します。

-.--.--.--.--.--.--.--.--.--.--.--.--.--.--.--.--.--.-
  Daisuke Fukao @ SFL
  E-mail : fukao.d @ sfl.fujitsu.com
-.--.--.--.--.--.--.--.--.--.--.--.--.--.--.--.--.--.-




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