微信公眾號開發微信昵稱包含特殊字符


我們在做微信開發的時候,有一個很重要的就是通過openid獲取用戶的詳細信息,包含昵稱,頭像,省,市,區的信息,但是現在移動時代,很多人追求個性,在名字當中大量使用火星文或者表情符。這給微信開發帶來了一些問題,我們在獲取昵稱之后保存到mysql數據庫當中去就會出現錯誤。

解決辦法:
把nickname查出來,然后對nickname進行編碼,編碼完成之后保存到數據庫當中。這樣做的好處是不會損失細節,方便操作,只需要對數據進行一行代碼的編碼,壞處是直接用navicat打開表的時候nickname就看不懂了,並且在用到nickname的時候一定要記得先進行解碼。
String  nickname=userInfo.getAsJsonObject().get("nickname").getAsString();
try {
    //進行編碼
    nickname =  Base64.encodeBase64String(nickname.getBytes("UTF-8"));
} catch (UnsupportedEncodingException  e) {
    e.printStackTrace();
}
user.setNickname(nickname);
String nickname = (String) map.get("nickname");
try {
    //進行解碼
    nickname = new  String(Base64.decodeBase64(nickname), "UTF-8");
} catch (UnsupportedEncodingException e) {
    e.printStackTrace();
}
map.put("nickname", nickname);

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM