看板 Database 關於我們 聯絡資訊
※ 引述《gamewolf (Escape)》之銘言: : [環境] : mysql-client-4.1.19 : mysql-server-4.1.19 : php5-mysql-5.2.1_3 : [測試 SQL] : CREATE TABLE `Escape` ( `id` varchar(5) collate utf8_unicode_ci NOT NULL : default '', : `name` varchar(120) collate utf8_unicode_ci NOT NULL : default '') ENGINE=MyISAM : DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; : INSERT INTO `Escape` (`id`, `name`) VALUES ('1', '亞旭'),('2', 'dell'); : 然後小弟下 Select * From Escape Where name like 'a%' ; : 會找到 "1 亞旭" 這筆資料,照理說應該是要找不到才對啊 orz : 該查詢句不論在 mysql console 或 phpmyadmin 結果皆相同 : 請問這是什麼原因??找好久都找不出來問題在那裡 T__T 你好, 你這個問題讓我感到興趣,之前因為MySQL的Big5資料轉UTF8有稍微接觸, 剛好你的問題也是與UTF8有關,所以我花了點時間Google一些資料. 我在Google搜尋到一篇: LIKE search fails with indexed utf8 char column http://bugs.mysql.com/bug.php?id=20471 這篇的情況類似,解決方法是Patch或者更新MySQL. 另外我試著將中文字"亞旭"Encode: (http://netzreport.googlepages.com/online_tool_for_url_en_decoding.html) 得到的的結果是: "%E4%BA%9E%E6%97%AD" 如果照上面的結果來看,似乎就符合你的 'a%' 條件. 那關於有沒有對於MySQL舊版或者解決方法...我還在找尋中, 所以先提供目前找到的一些資料給你參考. 若有錯誤煩請指教. -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.135.138.86