鍍金池/ 問答/PHP  數(shù)據(jù)庫(kù)/ Mysql無法查詢字段值為Unicode編碼的問題

Mysql無法查詢字段值為Unicode編碼的問題

有一個(gè)數(shù)據(jù)庫(kù)表,字段中存儲(chǔ)的是json格式的數(shù)據(jù),json你懂得就是數(shù)據(jù)中中文都被轉(zhuǎn)換成了Unicode字符。字段數(shù)據(jù)示例:

{"realname":"\u9a6c\u672a\u90fd","identity_card":"42049982688888"}

我現(xiàn)在的查詢語句是:

SELECT * FROM `表名` WHERE `type` = 2 AND `card` LIKE '%\\u672a\\u90fd%';

不知道為什么查詢不到數(shù)據(jù)?求大神幫忙解答一下。條件中去掉一個(gè)反斜杠也不行

回答
編輯回答
舊城人

LIKE '%\\\\u672a\\\\u90fd%';
https://stackoverflow.com/que...

To get the LIKE comparison to match a literal backslash character, we need two backslash characters. As we just demonstrated, to get a backslash character in a string literal requires two backslashes. So we need a total of four backslash characters.

首先很感謝夜影給予的幫助,上述方法真實(shí)可用。下面是我結(jié)合夜影的方法做的一些補(bǔ)充。等于兩種方法都可以解決此類問題,具體請(qǐng)參考:https://www.zkii.net/tech/php...

2017年7月24日 16:15
編輯回答
礙你眼

去掉like ,看一下realname字段是 u9a6cu672au90fd 格式的嗎.

2017年7月25日 00:58