jsp 获取表单传过来的参数值含有中文字符

需要提交的form结构如下,测试用,非常简单,其中,文本框中输入的是中文名,如:明宇

<form method="post" action="postTest.jsp">
    <input type="text" name="name" />
</form>

测试用的postTest.jsp获取传过来的name的参数值,并打印出来:

<%
    request.setContentType("GBK");
    String name = request.getParameter("name");
    out.println(name);   
%>

那么可以看到输出的内容为中文的:明宇

但是如果表单用的是get方法,那么获取name的值就相对复杂一些,form如下:

<form method="get" action="getTest.jsp">
    <input type="text" name="name" />
</form>

getTest.jsp要获取传过来的name的值,则需要通过java.net.URLDecoder.decode进行解码

<%
    String rawQueryStr = request.getQueryString();
    String queryStr = java.net.URLDecoder.decode(rawQueryStr, "GBK");
    String[] nameValue = queryStr.split("=");
    out.println(nameValue[1]);
%>
原文地址:https://www.cnblogs.com/bejour/p/3350128.html