`
jjjssh
  • 浏览: 77746 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

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

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


当取出来显示时,再把这个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;
	}


分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics