传中文参数乱码问题
从jsp页面传参数到servlet,tomcat默认用的转码和解码的编码是iso-8859-1,,平常传英文参数,所以直接接收参数也不会改变值。但是中文不同,直接接收的值跟传的参数是不一致的,为了解决让传过来的参数的值=jsp页面的那个参数的值(假设从jsp传参数到servlet),需要在servlet页面做以下行为:
//接收jsp页面传过来的参数,这个是必须的
String fileName = request.getParameter("filename");
//转码,String的getBytes()方法是将一个字符串转化为用系统默认的编码格式转换为一个字节数组。
//fileName.getBytes("ISO-8859-1")就是把fileName这个字符串用iso-8859-1这个编码转换成一个字节数组
//new String 是构造一个新的 String,方法是使用指定的字符集解码字节的指定子数组
fileName=new String(fileName.getBytes("ISO-8859-1"),"utf-8");
这样就可以得到不会乱码的中文参数
你可以比现在做得更好