jsoup解析出现非常规乱码后处理方法

碰到怪问题jsoup解析在ECLIPSE调试环境正常,放到TOMCAT上独立跑时JSOUP解析出现怪字符,后来发现是byte 63,用replaceall无法解决,后写了下面这个函数处理,问题虽解决但为何会出现乱码尚不清楚。 UTF-8是3个字节 GBK是2个字节 常用中文字符用utf-8编码占用3个字节(大约2万多字),但超大字符集中的更大多数汉字要占4个字节(在unicode编码体系中,U+20000开始有5万多汉字)。 GBK、GB2312收编的汉字占2个字节,严格地用iso8859-1无法表示汉字,只能转为问号。 public String reStringByte(String tmpsStr,int reInt) { byte[] tmp=tmpsStr.getBytes(); int p=0; for (int i = 0; i < tmp.length; i++) { if (tmp[i]!=reInt){ p=p+1; } } byte[] stmp=new byte[p]; p=0; for (int i = 0; i < tmp.length; i++) { if (tmp[i]!=63){ stmp[p]=tmp[i]; p=p+1; } } try { log.info("字节差:"+(tmp.length-stmp.length)); } catch (Exception e) { } return new String(stmp); }

你可能感兴趣的:(jsoup解析出现非常规乱码后处理方法)