mysql:14811
From: Yoshinori Matsunobu <Yoshinori Matsunobu <Yoshinori.Matsunobu@xxxxxxxxxx>>
Date: Fri, 17 Apr 2009 20:38:39 -1000
Subject: [mysql 14811] Re: SJISで文字コードがシフト?してしまい検索できない
松信です。 立岡さん、バグ情報ばかりか パッチまで作成してくださってありがとうございます。 5.0だけでなく、5.1と6.0でもsjis/cp932について コードは同じなので、新規のバグかと思います。 立岡さんのパッチで良いと思います。 eucjpms/ujis/utf8ではそうなっていますから、 日本語環境ではsjis/cp932のみで発生する現象 (といっても0x5CとかシフトJIS固有の問題ではなく単なるバグ) ということになるでしょう。 お手数ですが、本現象とパッチについて、 バグレポートの方に登録して頂くことはできませんでしょうか? http://bugs.mysql.com/report.php ご面倒でしたらこちらでやっておきますのでお知らせください。 以上です。よろしくお願い致します。 -- Yoshinori Matsunobu Principal MySQL Consultant Sun Microsystems MySQL Consulting Services: http://www-jp.mysql.com/consulting/ > 立岡です。 > > ソースコード眺めてみたらおかしなところを発見しました。 > ようするにUPPERとLOWERがlatin1と同じ関数が使われているようです。 > これをマルチバイト用の関数に直したらうまく動きました。 > (この関数がcp932とsjisに対応しているという前提ですが。。。) > 動作は下記です。そのあとパッチです。 > cp932だけでなくsjisもコードがおかしいようです。 > > mysql> show create table t; > +-------+-----------------------------------------------------------------------------------------+ > | Table | Create Table > | > +-------+-----------------------------------------------------------------------------------------+ > | t | CREATE TABLE `t` ( > `a` varchar(16) default NULL > ) ENGINE=MyISAM DEFAULT CHARSET=cp932 | > +-------+-----------------------------------------------------------------------------------------+ > 1 row in set (0.00 sec) > > mysql> SELECT a, HEX(a), HEX(UPPER(a)) FROM t; > +--------+----------+---------------+ > | a | HEX(a) | HEX(UPPER(a)) | > +--------+----------+---------------+ > | ビタ | 8372835E | 8372835E | > | ABC | 414243 | 414243 | > | abc | 616263 | 414243 | > +--------+----------+---------------+ > 3 rows in set (0.02 sec) > > mysql> select * from t WHERE upper(a)="ビタ"; > +--------+ > | a | > +--------+ > | ビタ | > +--------+ > 1 row in set (0.00 sec) > > mysql> select * from t WHERE upper(a)="コタ"; > Empty set (0.00 sec) > > > パッチ > --- mysql-5.0.77-org/strings/ctype-cp932.c 2009-01-30 06:45:47.000000000 > +0900 > +++ mysql-5.0.77-new/strings/ctype-cp932.c 2009-04-18 12:34:32.000000000 > +0900 > @@ -5485,10 +5485,10 @@ > my_numcells_cp932, > my_mb_wc_cp932, /* mb_wc */ > my_wc_mb_cp932, /* wc_mb */ > - my_caseup_str_8bit, > - my_casedn_str_8bit, > - my_caseup_8bit, > - my_casedn_8bit, > + my_caseup_str_mb, > + my_casedn_str_mb, > + my_caseup_mb, > + my_casedn_mb, > my_snprintf_8bit, > my_long10_to_str_8bit, > my_longlong10_to_str_8bit, > satoshi@fasta:~/Downloads$ diff -u mysql-5.0.77-org/strings/ctype-sjis.c > mysql-5.0.77-new/strings/ctype-sjis.c > --- mysql-5.0.77-org/strings/ctype-sjis.c 2009-01-30 06:45:48.000000000 > +0900 > +++ mysql-5.0.77-new/strings/ctype-sjis.c 2009-04-18 12:35:00.000000000 > +0900 > @@ -4648,10 +4648,10 @@ > my_numcells_sjis, > my_mb_wc_sjis, /* mb_wc */ > my_wc_mb_sjis, /* wc_mb */ > - my_caseup_str_8bit, > - my_casedn_str_8bit, > - my_caseup_8bit, > - my_casedn_8bit, > + my_caseup_str_mb, > + my_casedn_str_mb, > + my_caseup_mb, > + my_casedn_mb, > my_snprintf_8bit, > my_long10_to_str_8bit, > my_longlong10_to_str_8bit, >
14789 2009-04-15 19:14 [<ALCYONE@xxxxxxxxxx>] SJISで文字コードがシフト?してしまい検索できない 14790 2009-04-15 19:28 ┣[Isamu Moriyama <mori] 14791 2009-04-15 19:43 ┃┗[<ALCYONE@xxxxxxxxxx>] 14792 2009-04-15 20:17 ┣[SAKAI Kei <sak2@xxxx] 14795 2009-04-16 15:06 ┃┣[<ALCYONE@xxxxxxxxxx>] 14796 2009-04-16 15:13 ┃┃┣[<ALCYONE@xxxxxxxxxx>] @ 14800 2009-04-16 17:28 ┃┃┃┗[chuuken kenkou <ken_] 14803 2009-04-17 19:51 ┃┃┃ ┗[<ALCYONE@xxxxxxxxxx>] 14805 2009-04-17 20:50 ┃┃┃ ┗[Satoshi Tatsuoka <sa] 14802 2009-04-17 17:05 ┃┃┗[SAKAI Kei <sak2@xxxx] 14806 2009-04-17 20:55 ┃┃ ┗[<ALCYONE@xxxxxxxxxx>] 14801 2009-04-17 15:52 ┃┗[Mikiya Okuno <Mikiya] 14804 2009-04-17 20:38 ┃ ┗[<ALCYONE@xxxxxxxxxx>] 14807 2009-04-17 21:00 ┃ ┗[SAKAI Kei <sak2@xxxx] 14808 2009-04-17 21:12 ┃ ┣[SAKAI Kei <sak2@xxxx] 14810 2009-04-18 13:37 ┃ ┃┗[Satoshi Tatsuoka <sa] -> 14811 2009-04-18 15:38 ┃ ┃ ┣[Yoshinori Matsunobu ] 14813 2009-04-18 17:03 ┃ ┃ ┃┗[Satoshi Tatsuoka <sa] 14814 2009-04-18 17:17 ┃ ┃ ┃ ┗[Yoshinori Matsunobu ] 14815 2009-04-20 10:03 ┃ ┃ ┃ ┗[<ALCYONE@xxxxxxxxxx>] 14821 2009-05-06 14:05 ┃ ┃ ┃ ┗[SAKAI Kei <sak2@xxxx] 14840 2009-05-09 12:01 ┃ ┃ ┃ ┣[SAKAI Kei <sakaik@xx] 14956 2009-07-06 16:57 ┃ ┃ ┃ ┗[SAKAI Kei <sak2@xxxx] MySQL 5.1.36 リリース(was Re: Re: SJISで文字コードがシフト?してしまい検索できない 14812 2009-04-18 16:10 ┃ ┃ ┗[SAKAI Kei <sak2@xxxx] 14809 2009-04-17 21:23 ┃ ┗[Satoshi Tatsuoka <sa] 14794 2009-04-15 23:37 ┗[とみたまさひろ <tomm] 14797 2009-04-16 15:34 ┗[<ALCYONE@xxxxxxxxxx>] 14798 2009-04-16 15:41 ┗["Y. Tsutsui" <tutui@] 14799 2009-04-16 16:44 ┗[<ALCYONE@xxxxxxxxxx>]