mysql關於unicode編碼查詢

2021-10-23 06:53:55 字數 1060 閱讀 1711

在實際開發中,很多時候我們需要儲存一些表情emojit或者特殊符號,這個時候如果你單純去獲取使用者帶有表情包的名稱資料去儲存時,資料庫儲存儲存會出現亂碼,所以我們在儲存前需要對使用者的資料進行unicode編碼後再儲存,獲取的時候再進行unicode轉碼顯示即可。

但是由於轉碼後的資料在資料庫中儲存的是帶有\u開頭的2或4位的16進製表示的字元,這個時候如果我們需要對使用者名稱進行查詢或者模糊查詢,直接使用sql查詢編碼後的資料,此時是查不到資料的。

例如:編碼後的資料:\u521d\u26\u26\u5fc3

使用sql:select * from test where name = "\u521d\u26\u26\u5fc3";(查不到資料)

select * from test where name like "%\u521d\u26\u26\u5fc3%";(查不到資料)

sql查詢:select * from testwhere name = "\\u521d\\u26\\u26\\u5fc3";

sql查詢:select * from test where name like "%_u521d_u26_u26_u5fc3%";

sql查詢:select * from testwhere name like "%\\u26\\\\u26%";

字串轉碼成unicode編碼:

public static string encodeunicode(string string) 

return sb.tostring();

}

unicode轉成字串:

public static string decodeunicode(string unicode) 

return sb.tostring();

}

unicode轉成_u形式的編碼:

public static string encodetomysqlunicode(string string) 

return sb.tostring();

}

python遇到 u 開頭的unicode編碼

web資訊中常會遇到 u4f60 u597d 型別的字元。首先 u 開頭就基本表明是跟unicode編碼相關的,u 後的16進製制字串是相應漢字的utf 16編碼。python裡decode 和encode 為我們提供瞭解碼和編碼的方法。其中decode unicode escape 能將此種字串解...

python遇到 u 開頭的unicode編碼

web資訊中常會遇到 u4f60 u597d 型別的字元。首先 u 開頭就基本表明是跟unicode編碼相關的,u 後的16進製制字串是相應漢字的utf 16編碼。python裡decode 和encode 為我們提供瞭解碼和編碼的方法。其中decode unicode escape 能將此種字串解...

iOS 關於unicode編碼

網路通訊過程中常用的的一種編碼及解碼的方法,算是簡單的加密.一 pragma mark 將nsstring轉化為unicode字串 nsstring turntounicodewith nsstring curstr return result uppercasestring 二 pragma ma...