1.原因:前台的编码是ISO-8859-1,后台的编码是UTF-8,所以会冲突
2.解决方法:先用ISO-8859-1解码成字节数组,再转成UTF-8编码格式
String strw = new String(request.getParameter("activityList").getBytes("ISO-8859-1"), "UTF-8");
3.读取html等文本文件的时候假如有乱码要先看html文件的编码方式,可能是UTF-8或者是GB2312,假如是UTF-8则不用转直接返回,假如是GB2312,则先用GB18030解码成字节数组,再转换成UTF-8
HTML文件编码方式是UTF-8:
new String(byte.toByteArray());//因为ByteArrayOutputStream在write的时候默认是utf-8编码,所以不需要转换
HTML文件编码方式是GB2312:
new String(byte.toString("GB18030").getBytes(),"UTF-8");