通常请求参数中的中文都会解析为乱码,要按照需要的编码解析这些参数:
一般有两种思路:
- 直接使用URLDecode解码:
String rawStr = request.getQueryString();
String decodeStr = java.net.URLDecoder.decode(rawStr,"UTF-8");
- 也可以按照通常的方法直接获取请求参数值,然后再转换为字节数组,重新编码组成字符串。
String rawValue = request.getParameter("name");
byte[] rawBytes = rawValue.getBytes("ISO-8859-1");
String value = new String(rawBytes,"UTF-8");