我試圖更正已經雙重轉義的數據庫中的條目。我相信當使用mysql_real_escape_string時,magic_quotes已開啓。雙重轉義導致一些搜索結果不正確或缺失。需要僅選擇包含MySQL中的反斜槓的數據
我已經關閉了magic_quotes,正計劃搜索帶有反斜槓的條目並更新它們以消除任何雙重轉義。麻煩的是,當我執行查詢來搜索帶有反斜槓的條目時,我總是得不到結果。
SELECT title FROM exampletable WHERE title LIKE '%\\\\%'
我使用「%\\\\%」作爲在這裏推薦:http://dev.mysql.com/doc/refman/5.0/en/string-comparison-functions.html#operator_like
如果我每輸出稱號,其中不乏有不必要的反斜線,所以我知道他們的存在。我似乎無法在查詢中隔離它們。
Example Data:
Old King\'s Road
Running Down A Dream
Can\'t Stop The Sun
This One's For Me
再次,只是試圖返回條目與他們\。
編輯:MySQL版本是5.0.92-社區。整理是latin1_swedish_ci。字符集是UTF-8 Unicode
%\\%不起作用。我試過了。它在mysql.com上列爲不正確:
要搜索「\」,請將其指定爲「\\\\」;這是因爲反斜槓被解析器剝離了一次,並且當匹配模式匹配時,反斜槓被匹配。
您不需要搜索雙斜線。只搜索'%\\%'。如果你加倍逃脫,一個\被正確解析並且你的字段數據有一個額外的\,所以你只需要搜索一個! – Khez 2011-04-11 18:31:46
你使用的是什麼版本的MySQL?請發佈您的create table語句,以及數據庫的缺省字符集和排序規則。 – 2011-04-11 19:10:04
MySQL版本是5.0.92-community。整理是latin1_swedish_ci。字符集是UTF-8 Unicode。對不起,目前沒有create table語句。 – 8bitsdeep 2011-04-11 19:24:48