关于获取带特殊符号的微信昵称 微信昵称特殊字符java
程序员文章站
2022-07-07 13:09:23
...
最近做微信公众号的功能,刚开始没注意,拉取用户信息的时候,如果昵称有那种特殊符号,则保存到mysql数据库,其实是对mysql编码有要求的,一般我们装mysql数据库的话,一般编码都是UTF-8,而要保存这种特殊字符,则需要utf8mb4,如果之前不知道,那现在就要面临着修改mysql数据库编码的问题,由于当时,我是在linux上装数据库的,当时是各种不熟悉,麻烦,所以我不想整mysql数据库了,于是我想了个办法,我把这些特殊字符,转成byte[]数组,然后再把byte数组,转成字符串数组,然后保存到数据库中
当取出来显示时,再把这个byte[]字符串数组,再转回正常的字符串, 经测试,效果还不错,不用改变原有的utf-8编码
代码如下:
当取出来显示时,再把这个byte[]字符串数组,再转回正常的字符串, 经测试,效果还不错,不用改变原有的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; }