我運行MySQL 50年5月1日,並有一個表,看起來像這樣:MySQL的匹配Unicode字符的ASCII碼版本
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是匹配與ASCII版本的Unicode字符。例如,當我搜索與包含有一個「e」,而不是一個「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查詢中獲得準確的匹配?
謝謝!
非常感謝您的回覆! – user825466
哇!你精美地解釋!非常感謝。 –