mysql:9513
From: yyuji <yyuji <yyuji@xxxxxxxxxx>>
Date: Tue, 01 Jun 2004 19:56:55 +0900
Subject: [mysql 09513] Re: UTF-8でのUpdate
山口です。
本件、カラムによってcharacter set が違っていたことが原因だったようです。
update tbl_test set tx_name = '" + buf_name.toString() + "'
where TX_UID = '" + uid + "';
上記の
tx_name はutf8
TX_UID はlatin1 でした。
よって、where句で"Illegal mix of collations"が発生する結果となっていました。
お騒がせしました。
キャラクタイントロデューサーなどでエラー回避可能かを調査しようと思います。
yasuyuki@xxxxxxxxxx wrote:
>えんどう やすゆき です。
>
>mysql-4.1.2-alpha-nightly-20040523 をソースコードからビルドして使用しています。
>
>OS は Debian serge です。
>
>$ uname -mrs
>Linux 2.4.26-1-686 i686
>
>> (1)ドライバのバージョンに関して
>> mysql-connector-java-3.0.11-stable-bin.jar
>> mysql-connector-java-3.1.1-alpha-bin.jar
>> 双方でのテスト:結果は同じでした。
>
>mysql-connector-java-3.1-nightly-20040528 を使用しています。
>
>> (2)データベースの作成
>> my.iniでのcharacter set の指定と
>> データベースを作成するときのcharacter set の指定
>> の組み合わせを試してみました。
>
>/etc/my.cnf では default-character-set を指定せず、mysqld_safe 起動時に
>
># /usr/loca/mysql/bin/mysqld_safe --default-character-set=ujis --user=mysql &
>
>で起動しています。
>
>> ところが、MySQLおよびデータベース側では、show variables で確認すると
>
>$ echo show variables | /usr/local/mysql/bin/mysql --default-character-set=utf8 test | grep character
>character_set_client utf8
>character_set_connection utf8
>character_set_database ujis
>character_set_results utf8
>character_set_server ujis
>character_set_system utf8
>character_sets_dir /usr/local/mysql/share/mysql/charsets/
>
>デフォルトの test データベースは ujis (EUC-JP) で作成されています。
>
>ここに、
>
>create table utf8test (
> id integer,
> name varchar(255) character set utf8
>);
>
>でテストテーブルを作成しました。
>
>Eclipse 2.1.3 と QuantumDB 2.30 経由で
>mysql-connector-java-3.1-nightly-20040528 ドライバーで接続し、
>
>update utf8test set name='いいいい' where id=10;
>
>などとアップデートを実行し、特に何のエラーも発生しません。
>
>/usr/local/mysql/bin/mysql --default-character-set=utf8 test
>
>で表示しても正常にアップデートされています。
>
>--
>ENDO Yasuyuki <yasuyuki@xxxxxxxxxx>
>http://www.kahua.org/
>http://www.timedia.co.jp/
>
>
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]