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&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]