在web开发中,经常需要从request和response中读取和传递参数。但参数中含有中文时,就需要注意:url中的编码格式,一般情况下,会出现:ISO-8859-1和UTF-8两种,在今天的开发中,发现url中,对于中文,是使用ISO-8859-1传递的。这就需要我们在读取和设置参数的时候,对中文进行编码的转换。转换的方式很简单:读取: String filePath = new String(request.getParameter("downfile").getBytes("ISO-8859-1"),"utf-8"); 传入参数: new String(f.getName().getBytes("utf-8"),"ISO-8859-1")
这样就能解决中文参数的乱码问题了。
不过对于问什么utf-8编码的url,在处理中文时会出现乱码,原因还不是很清楚。
ps:还可以使用java.net.URLEncoder 或者 URLDecoder进行编码的转换,也可以解决中文乱码的问题。