mysql:9503
From: "HIROSE, Masaaki" <"HIROSE, Masaaki" <hirose31@xxxxxxxxxx>>
Date: Tue, 01 Jun 2004 12:59:28 +0900
Subject: [mysql 09503] Re: UTF-8でのUpdate
ひろせといいます on "[mysql 09499] Re: UTF-8でのUpdate" <200406010138.KAA09632@xxxxxxxxxx> at Tue, 01 Jun 2004 10:38:49 +0900 yyuji <yyuji@xxxxxxxxxx> wrote: > useUnicode=true&characterEncoding=UTF8 > useUnicode=true&characterEncoding=UTF-8 > > ともに > Illegal mix of collations > になっています。 ドライバをバージョンアップしてみるとか、試しに 3.1 系のドライバを使っ てみるとか。 # 3.0.12 でいろいろ修正が入っているみたいですし。 それでもダメならば、根本的な解決ではありませんが、 http://dev.mysql.com/doc/mysql/ja/Charset.html を一通り読んで、文字列リテラルでキャラクタセットを明示してみるとか。 # MySQL 4.1.2 にしてみるとか… // 話は変わりますが、 > update tbl_test set tx_name = '" + buf_name.toString() + "' > where TX_UID = '" + uid + "'; PreparedStatement を使えない理由があるのかもしれませんし、uid がどんな ものかわかりませんが、uid の値に「'」が含まれていたらどうなるんだろうと か、「foo' or TX_UID != '」だったらどうなるんだろうとか… SQL injection 対策をしているのかもしれませんが、老婆心ながら心配です。 http://www.ipa.go.jp/security/awareness/vendor/programming/a02_01.html ではでは -- ひろせ http://www.irori.org/
9484 2004-05-31 18:41 [yyuji <yyuji@xxxxxxx] UTF-8でのUpdate 9485 2004-05-31 19:16 ┣[<yasuyuki@xxxxxxxxxx] 9486 2004-05-31 19:35 ┃┗[yyuji <yyuji@xxxxxxx] 9487 2004-05-31 20:01 ┃ ┗[<yasuyuki@xxxxxxxxxx] 9499 2004-06-01 10:38 ┃ ┗[yyuji <yyuji@xxxxxxx] -> 9503 2004-06-01 12:59 ┃ ┗["HIROSE, Masaaki" <h] 9504 2004-06-01 13:18 ┃ ┣[yyuji <yyuji@xxxxxxx] 9505 2004-06-01 13:35 ┃ ┗["TAKAHASHI, Tomohiro] 9500 2004-06-01 11:18 ┗[ML account <ml@xxxxx] 9506 2004-06-01 13:41 ┗[yyuji <yyuji@xxxxxxx] 9510 2004-06-01 16:51 ┣[<yasuyuki@xxxxxxxxxx] 9513 2004-06-01 19:56 ┃┗[yyuji <yyuji@xxxxxxx] 9516 2004-06-01 20:25 ┃ ┗[<yasuyuki@xxxxxxxxxx] 9524 2004-06-02 18:07 ┃ ┗[yyuji <yyuji@xxxxxxx] 9511 2004-06-01 17:16 ┗[ML account <ml@xxxxx] 9514 2004-06-01 19:58 ┣[yyuji <yyuji@xxxxxxx] 9515 2004-06-01 20:22 ┗[yyuji <yyuji@xxxxxxx]