Trending News
用LIKE搜尋中文的問題...急
各位大大好....
小弟在做搜尋功能時,碰到這樣的問題...以下
我的測試文字是...."許攻蓋測試"
當我用like '%(許測試這3字)%'...都是可以搜尋的到紀錄
但用攻蓋這2各字...怎麼下like語法...就是不行...找不到= =
請問各位大大...這是什麼情況...我該如何解決呢...
大五碼的問題嗎?...小弟網頁是UTF8寫成...MYSQL也是UTF8...
請各位大大幫幫忙了................
to penny...
我必須解決的就是這些字串問題....
to penny....
直接LIKE%許測試% 才搜尋不到吧...我想你誤解了
我有用( )把他們框起來...是說我單獨使用他們是OK的...
對於LIKE的用法...我還稍微了解怎麼下的^^~
對....我有在MYSQL直接下...是沒辦法的...
to Jelly....
我已經用UTF8的格式去寫的....所以並沒有BIG5的問題...
to Jelly....
小弟..不清楚大哥您的意思ㄝ....
衝碼不是發生在"大五碼"身上嗎...
所以一般都是改成UTF8去處理..不是嗎?!
請恕小弟駑鈍....
另外magic_quotes_gpc = On...是這樣設定沒錯
而且小弟也在上面提到...也直接在資料庫下過指令
一樣無法搜尋到.....
請大大能在多幫小弟想想是怎樣的問題嗎?
to Jelly....
大大...由於公司資料關係...所以小弟不方便
提供一下....我的MySQL 客戶端版本: 4.1.22
我測試用的APPSERV是5.XXX版..是沒這樣的問題
不過我還是得解決在4.1.22上的問題...X.X
2 Answers
- JellyLv 71 decade agoFavorite Answer
$keyword = addslashes("攻蓋");
like '%{$keyword}%'
試試吧
不行就算了 = =
我有點懶的測
抱歉ㄚ
我的善良只有那麼一點點程度
2008-03-05 05:07:48 補充:
補充一下
如果可以用的原因好了 = =
相信你一定知道 這3個字是該死的衝碼字
所以才無聊的找自己麻煩
php.ini中 有一個設定
magic_quotes_gpc = On
自動處理衝碼字
它會自己在 有衝碼的字前面加上 \ 並轉換成 ASCII 編碼(我記不得名字亂打的 意思到就好)
但這部份 只自動在 "寫入資料庫部份"
你做的是搜索 所以不會自己加衝碼字
所以只好自己在搜尋前 先加好
再去搜
我猜有用啦 = = 懶的測
沒用就算了...當我沒回答過
以上 XD
2008-03-06 15:42:50 補充:
= = 你跟本沒看說明嘛
我有說是
utf-8 或 big5 問題嗎 = =
2008-03-10 22:36:55 補充:
資料庫拍圖出來
然後 sql 全句寫出來吧
我試都可以的
2008-03-11 18:23:49 補充:
phpMyAdmin 2.6.4-pl3
MySQL 版本 3.23.58
測試結果沒問題
但我沒MySQL 客戶端版本: 4.1.22板本可以測
幫不上忙了
Source(s): 我亂掰的 聽聽就好, 我亂掰的 聽聽就好 - 1 decade ago
資料庫的關係吧
我用過ORACLE
ORACLE有些字好像也會無法辨識
我曾經在ORACLE 直接下SQL語法
搜尋"測試" 這2個字
也是都找不到.要多加幾個字
你試試別的字串看看
2008-03-04 21:01:20 補充:
你內容有沒有打錯阿?
測試文字是...."許攻蓋測試"
直接LIKE%許測試% 才搜尋不到吧..
LIKE%攻蓋%應該找的到..
你是在 MYSQL裡直接搜尋嗎?
Source(s): ME