在實際開發中,很多時候我們需要儲存一些表情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...