我有一個搜索功能的工作,我想這是不區分大小寫,包括像EUO等MySQL的UPPER()和LOWER()不是UTF-8字符
這樣的人物,我將輸入到大寫在查詢數據庫之前。但是,MySQL不會將重音字符正確轉換。
SELECT * FROM items WHERE UPPER(description) = $input
我有MySQL 5.1.32,我嘗試了不同的排序規則,但沒有一個看起來沒有問題。與LOWER()一樣。
CREATE TABLE `items` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(255) DEFAULT NULL,
`description` text CHARACTER SET utf8 COLLATE utf8_bin,
PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=187 DEFAULT CHARSET=utf8"
說明字段包含'hellö'。 Mysql將其轉換爲'HELLö'。我想'你好'。
請展後的'輸出CREATE TABLE items',在'$ input'的價值和'name'你所期望的價值相匹配。 – Quassnoi 2010-11-10 13:50:13
完成! (也將其更改爲描述字段而不是名稱) – 2010-11-10 14:02:25
您正在使用大小寫和區分重音敏感的'UTF8_BIN'。改用'UTF8_GENERAL_CI'。 – Quassnoi 2010-11-10 14:16:42