作者sweetwords (米虫三號)
看板Database
標題[SQL ] 我中文 SQL 句下錯了嗎?
時間Sun Feb 1 22:39:28 2009
這是我們搜尋功能會用到的一段 sql 句
我們有將 TABLE 相關欄位做了全文索引,主要想找到符合變數的資料
SELECT * FROM `TABLE_NAME` WHERE MATCH (COLUMN_NAME) AGAINST ('中文變數');
非常奇怪的是,當我下中文變數是「注意力」的時候
可以順利搜尋到幾筆資料
但是當我將中文縮減成「注意」的時候
卻完全搜尋不到任何資料 @_@"
我不曉得為啥會有這樣的狀況,照理說「注意」不是應該會比「注意力」
搜尋到更多,甚至「注意力」有的資料,「注意」也該有不是嗎 ._.?
有找過一些相關資料,有些人說可以用 LIKE '%中文變數%' 來寫
可是這當資料量很大的時候不是會花比較多的時間嗎 @_@?
(不知道 20 多萬筆資料算多嗎 @_@?)
也有人說是 php mysql_connect 忘了 set names utf8
可是我設了之後,
反倒完全抓不到資料,改成 big5 後又可以了,只是還是有最上面的缺陷 :Q
我的 TABLE 欄位校對是 utf8_general_ci
連線校對是 utf8_unicode_ci
文字編碼是 uft8 unicode
character set client utf8
character set connection utf8
character set database utf8
collation connection utf8_unicode_ci
(整體值) utf8_general_ci
collation database utf8_general_ci
collation server utf8_general_ci
不知道這些有沒有跟我以上問題有關係 @_@?
在此先感謝各位先進花時間看完我的問題了 ._.)>
真的不知道是哪出問題 囧>"
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.117.194.56
推 comaniac:那應該要在注意後加萬用字元吧,他不是用搜尋引擎的原理 02/02 00:26
→ sweetwords:注意% 這樣嗎? 可是全文索引可以這樣用嗎 @_@? 02/02 01:09