[前][次][番号順一覧][スレッド一覧]

mysql:6052

From: "Takashi Yamashita" <"Takashi Yamashita" <takasi@xxxxxxxxxx>>
Date: Mon, 2 Sep 2002 13:08:39 +0900
Subject: [mysql 06052] jdbc: UTF-8 文字列の INSERT

はじめまして、山下高司と申します。

早速質問させていただきます。

PC環境は以下の通りです。
Windows2000

開発環境は以下の通りです。
jbuilder6pro
jdk1.4
relaxer

ドライバは、org.gjt.mm.mysql.Driverです。
サーバのバージョンは、3.23.49-ntです。
jdbcUriに渡すエンコーディングパラメータは、
「?useUnicode=true&amp;characterEncoding=Shift_JIS」
です。

charsetがUTF-8のJSPもしくはhtmlページから送られたrequestを
relaxerクラスに格納し、relaxerTableクラスのinsertメソッドで
データベース内のテーブルにINSERTするプログラムを開発しています。

insertメソッドのコードの一部を以下のように変更したらほとんどの
日本語が格納されるようになりました。

変更前
st.setString(1, USQL.getPropertyAsString(element, "@varAtt"));
    :
    :
    :
st.execute();

変更後
try {
st.setString(1,
  new String(
    USQL.getPropertyAsString(
      element, "@varAtt").getBytes("8859_1"),"UTF-8"));
      :
      :
      :
st.exectute();
}
catch(UnsupportedEncodingException e) {}

しかし、Unicode番号FF0D「−」が上手くDB内に格納されず、
「?」となってしまいます。

原因不明です。
対処方法がございましたらどなたか教えてください。

宜しくお願いします。


------------------------------------------------------
山下高司
takasi@xxxxxxxxxx



[前][次][番号順一覧][スレッド一覧]

->    6052 2002-09-02 13:08 ["Takashi Yamashita" ] jdbc: UTF-8 文字列の INSERT             
      6055 2002-09-02 14:39 ┗["Takashi Yamashita" ]                                       
      6058 2002-09-02 16:13  ┗["Takashi Yamashita" ]                                     
      6061 2002-09-02 17:47   ┗[MURAKAMI Tomokazu <t]