将ascii字符集设置为servlet中的ascii字符集

时间:2011-09-19 19:30:44

标签: html jsp servlets xml-entities

使用jsp,我们在隐藏字段中打印此Hh’k值,然后提交它。然后在servlet中,我们将其作为参数Hh'k,而我们希望它为Hh’k

有什么建议吗?

1 个答案:

答案 0 :(得分:2)

浏览器不这样做,因为没有理由。它只是对符合application/www-x-form-urlencoded合同的特殊字符进行URL编码,该合约通过调用getParameter()自动进行URL解码。

如果您确实需要对它们进行XML转义,则需要在获取request参数后自行完成。 Apache Commons Lang StringEscapeUtils#escapeXml()对此很有帮助:

String foo = request.getParameter("foo");
String escapedFoo = StringEscapeUtils.escapeXml(foo);
// ...

但是,你为什么要那样做?你在HTML中重新显示它们有问题吗?为此,有一个更简单的解决方案,just use UTF-8 everywhere。例如。在JSP的顶部添加以下内容:

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

等等。