之前有一篇是修改IDE的编码,服务器的编码等处理乱码,但是在所有环境因素上,保证了编码方式之后,也会有前台传递给后台【get方式提交】传递给后台的编码方式是非UTF-8的,也会有例如FTP服务器的编码方式是非UTF-8的,所以需要在程序中代码进行编码方式的转码。
1.第一种方式【..URLDecoder】
String condition = URLDecoder.decode(condition, "utf-8");
2.第二种方式
String filePath = new String(filePath.getBytes("UTF-8"),"iso-8859-1");
3.第三种方式【java.net.URLEncoder】
String fileName = URLEncoder.encode(fileName, "utf-8");
在合适的地方运用合适的编码转码,就能得到良好的效果!
判断字符串的编码方式:
String iso8859 = new String(fileName.toString().getBytes("iso8859-1")); String gbk = new String(fileName.toString().getBytes("gbk")); String utf8 = new String(fileName.toString().getBytes("utf-8")); if(iso8859.equals(fileName.toString())){ System.out.println("iso8859"); }else if(gbk.equals(fileName.toString())){ System.out.println("gbk"); }else if(utf8.equals(fileName.toString())){ System.out.println("utf8"); }