关于获取带特殊符号的微信昵称_JAVA_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > JAVA > 关于获取带特殊符号的微信昵称

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

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


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

代码如下:

class="java" name="code">
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;
	}


上一篇: 资深架构师的经验分享——软件项目开发和决策 下一篇: 没有下一篇了!
  • 相关文章
发表评论
用户名: 匿名