mail_babir****@yahoo*****
mail_babir****@yahoo*****
2013年 4月 21日 (日) 11:57:03 JST
須藤 様
お世話になっております。
田辺です。
度々失礼します。
utf8_unicode_ciでの全角半角の同一視について、バグだったとのこと。
再現頂けたよう安心しました。
また、もう一点、前回と同一原因かは不明ですが、utf8_unicode_ci時のLIKE検索において、動作に問題があるようでしたので、ご連絡させて頂きます。
具体的には、utf8_unicode_ci使用時のLIKE検索前方一致において、検索条件に完全一致した場合の結果が含まれないというものです。
以下、再現手順となります。
CREATE TABLE `test` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`main` varchar(255) NOT NULL COLLATE 'utf8_unicode_ci',
PRIMARY KEY (`id`),
INDEX main (`main`)
) ENGINE=mroonga DEFAULT CHARSET=utf8;
INSERT INTO `test`(`main`) VALUES ('とらっくばっく');
INSERT INTO `test`(`main`) VALUES ('とらっく');
SELECT * FROM `test` WHERE `main` LIKE 'とらっく%';
1件「とらっくばっく」のみヒット
ALTER TABLE `test` DROP INDEX `main`,
CHANGE `main` `main` VARCHAR( 255 ) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
ADD INDEX `main` ( `main` );
SELECT * FROM `test` WHERE `main` LIKE 'とらっく%';
2件
utf8_general_ciでは問題なくヒットしているようですので、utf8_unicode_ci側の問題かと思います。
それでは、お手数お掛けしますが、こちらの方もご確認頂ければ幸いです。
田辺公平