url如携带中文字符常见存在gbk和urf-8两种格式,这段时间做数据分析时经常乱码,今天想起由于utf-8的格式是3个字符的,所以考虑把中文字符解码成utf-8,然后再转回utf-8,如果和原先字符串匹配,则可以认为是utf-8的,如果不匹配,则为gbk的。代码如下:
public static boolean isUTF_8(String str){
try {
return str.equalsIgnoreCase(URLEncoder.encode(URLDecoder.decode(str, "utf-8"), "utf-8"));
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
return false;
}