关于获取带特殊符号的微信昵称

最近做微信公众号的功能,刚开始没注意,拉取用户信息的时候,如果昵称有那种特殊符号,则保存到mysql数据库,其实是对mysql编码有要求的,一般我们装mysql数据库的话,一般编码都是UTF-8,而要保存这种特殊字符,则需要utf8mb4,如果之前不知道,那现在就要面临着修改mysql数据库编码的问题,由于当时,我是在linux上装数据库的,当时是各种不熟悉,麻烦,所以我不想整mysql数据库了,于是我想了个办法,我把这些特殊字符,转成byte[]数组,然后再把byte数组,转成字符串数组,然后保存到数据库中


当取出来显示时,再把这个byte[]字符串数组,再转回正常的字符串, :lol: 经测试,效果还不错,不用改变原有的utf-8编码

代码如下:


public static String byteArray2StringArray(byte[]data){
StringBuffer sb=new StringBuffer();
for(int i=0;i<data.length;i++){
byte b=data[i];
//System.out.println(b);
if(i==0){
sb.append(b+"");
}else{
sb.append(",").append(b+"");
}

}
String str=sb.toString();
return str;
}

public static String byteStringArray2String(String[]byteArr){
byte[] bis=new byte[byteArr.length];
for(int i=0;i<byteArr.length;i++){
int ii=Integer.parseInt(byteArr[i]);
bis[i]=(byte) ii;
}
String string=new String(bis);
return string;
}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值