java gbk转utf8

我的情况:

没有部署前的spring boot项目:前台请求的参数编码格式是utf8
在打成jar包后:前台请求的参数编码格式是gbk

代码:

String reqUrl = "";
String str = new String(reqUrl.getBytes(), "gbk");
byte[] bytes = str.getBytes(StandardCharsets.UTF_8);
reqUrl = new String(bytes);


其实可以先判断其编码格式,再进行编码格式的转换更好
String iso8859 = new String(reqUrl.getBytes("iso8859-1"));
String gbk = new String(reqUrl.getBytes("gbk"));
if(iso8859.equals(reqUrl)){
String str = new String(reqUrl.getBytes(), "iso8859-1");
byte[] bytes = str.getBytes(StandardCharsets.UTF_8);
reqUrl = new String(bytes);
System.out.println("iso8859");
}else if(gbk.equals(reqUrl)){
String str = new String(reqUrl.getBytes(), "gbk");
byte[] bytes = str.getBytes(StandardCharsets.UTF_8);
reqUrl = new String(bytes);
System.out.println("gbk");
}


欢迎纠错.........
原文地址:https://www.cnblogs.com/hello-dummy/p/13525758.html