2011-10-25 17 views

回答

0

为获取unicode值,此代码可能会对您有所帮助。

如果(request.getCharacterEncoding()== NULL)
request.setCharacterEncoding( “UTF-8”);

的详细信息请参阅:
Click Here

0

HttpServletRequest#getQueryString()返回一个URL编码的查询字符串。您应该宁愿使用getParameter()getParameterValues()getParameterMap()方法分别检索单个参数,多个参数或整个参数图。使用这些方法,容器将自动为您解析参数名称和值。在JSP内部,这些值分别可通过${param.name}${paramValues.name}${pageContext.request.parameterMap}获得。

如果你真的坚持在解析和摆弄自己的原始查询字符串一些不明显的原因,那么你必须给他们各执&=分别终于搞定了各个参数和名称=值部分URL-解码每个部分自己。可以使用String#split()完成分割,并且可以使用URLDecoder#decode()完成URL解码。

这里有一个开球例如:

String charset = request.getCharacterEncoding(); 
if (charset == null) charset = "UTF-8"; 
String queryString = request.getQueryString(); 

for (String parameter : queryString.split("&")) { 
    String[] parts = parameter.split("="); 
    String name = URLDecoder.decode(parts[0], charset); 
    String value = URLDecoder.decode(parts[1], charset); 
    // ... 
} 

默认字符集至少应该是相同如你用来返回HTTP响应。例如,当它是一个JSP,它应该是为您在pageEncoding指定的相同:

<%@page pageEncoding="UTF-8" %>