现在遇到这样一个情况,收到字符串 ²âÊÔ¿¨ 怎么把他们变成原来的中文.

解决方案 »

  1.   

    应该是需要将UTF字符编码转换为GB编码。如下:public static String UTF82GB(String strValue)
    {
    if(strValue==null || strValue.trim().length()==0)
    {
    return strValue;
    }

    StringBuffer strbuf = new StringBuffer();
    int pos = 0;
    String[] strarr = strValue.split(";");

       
    for(int i=0; i<strarr.length; i++){
    pos = strarr[i].indexOf("&#x");
    if(pos >= 0){
    String bef = strarr[i].substring(0,pos);
    String tmp = strarr[i].substring(pos + 3);
    if (tmp.startsWith("00")){
    tmp = tmp.substring(2);
    }
    int l = Integer.valueOf(tmp, 16).intValue();
    strbuf.append(bef+(char)l);
    }
    else{
    strbuf.append(strarr[i]);
    }
    }

    return strbuf.toString();
    }