2011-09-19 49 views
1

使用jsp我们在隐藏字段中打印这个Hh’k值,然后提交它。然后在servlet中,我们将它作为参数Hh'k,而不是我们想要的Hh’k获取ascii字符集ascii字符集在servlet中

有什么建议吗?

+0

请注意,'’'代表正确的单引号''',不像您在参数值示例中那样使用简单的撇号'''。 – BalusC

回答

2

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

如果您确实需要XML转义它们,您需要在获取请求参数后自行完成。该Apache Commons LangStringEscapeUtils#escapeXml()有利于在此:

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

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

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

等等。

+0

在HTML中显示它没有问题,我们必须在发送另一个服务器时保持相同的asscii特征。 – harishtps

+0

我已经尝试了StringEscapeUtils.escapeXml,但它不工作:( – harishtps

+0

好吧,然后继续逃脱他们自己。也许你想要在它发送到另一台服务器,而不是每个inpue它的API实现它。也许你需要回顾一下发送作业的API,如果它正确地执行了这个工作,它是通过HTTP进行的吗?你是否使用URLEncoder等对参数进行URL编码等等? – BalusC