MySQL сопоставление символов Юникода с версией ascii

Я запускаю 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?

Спасибо!

10
задан user825466 1 July 2011 в 20:32
поделиться