在web中使用java.net.URLDecoder可以帮助我们解决中文乱码的问题。
JDK手册中的定义如下:
public class URLDecoderextends ObjectHTML返回值为新解码的String
实例如下:
form.jsp的文件的内容如下:
<%@ page contentType="text/html; charset=GBK" language="java" errorPage="" %>
<html>
<head>
<title> 收集参数的表单页 </title>
<meta name="website" content="http://www.crazyit.org" />
</head>
<body>
<form id="form1" method="get" action="getrequest.jsp">
<input type="text" name="name"/>
<input type="submit" value="提交">
</form>
</body>
</html>
上面的程序中只有一个输入框和一个提交的表单。
getrequest.jsp的文件的内容如下:
<%@page import="java.net.URLDecoder"%>
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<html>
<head>
<base href="<%=basePath%>">
<title>My JSP ‘form1Request.jsp‘ starting page</title>
</head>
<body>
<%
String str = request.getQueryString();
out.println("原始的查询字符串为:"+str);
String temp = URLDecoder.decode(str, "gbk");
out.println("解码后的查询字符串为"+temp);
%>
</body>
</html>
在浏览器执行的结果如下:
原始的查询字符串为:name=%D6%D0%BB%AA%C8%CB%C3%F1%B9%B2%BA%CD%B9%FA
解码后的查询字符串为name=中华人民共和国
使用java.net.URLDecoder获取请求中的中文字符
原文:http://blog.csdn.net/qq_20545159/article/details/44595973