Я запускаю MySQL 5.1.50 и имею таблицу, которая выглядит следующим образом:
organizations | CREATE TABLE `organizations` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` text CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
`url` text CHARACTER SET utf8 COLLATE utf8_unicode_ci DEFAULT NULL,
`phone` varchar(20) CHARACTER SET utf8 COLLATE utf8_unicode_ci DEFAULT NULL,
`timestamp` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (`id`),
KEY `id` (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=25837 DEFAULT CHARSET=utf8 |
Проблема, с которой я столкнулся, заключается в том, что MySQL сопоставляет символы Unicode с версиями ascii. Например, когда я ищу слово, содержащее 'é', оно будет соответствовать тому же слову, которое вместо этого содержит 'e', и наоборот наоборот:
mysql> SET NAMES utf8;
Query OK, 0 rows affected (0.00 sec)
mysql> SELECT id, name FROM `organizations` WHERE `name` = 'Universite de Montreal';
+-------+-------------------------+
| id | name |
+-------+-------------------------+
| 16973 | Université de Montreal |
+-------+-------------------------+
1 row in set (0.01 sec)
Я получаю эти результаты как из PHP, так и из консоли командной строки. Как мне получить точные совпадения из моих запросов SELECT?
Спасибо!