获取ASCII字符集为Servlet中的ASCII字符

发布于 2024-12-05 06:58:07 字数 160 浏览 2 评论 0原文

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

有什么建议吗?

Using jsp we print this Hh’k value in hidden field and then submit it. Then in servlet, we are getting it as parameter Hh'k, instead we want this as Hh’k.

Any suggestions?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

呆头 2024-12-12 06:58:07

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

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

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

但是,为什么要这样做呢?在 HTML 中重新显示它们时遇到问题吗?为此,有一个更简单的解决方案, 只需使用 UTF -8 到处。例如,在 JSP 顶部添加以下内容:

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

等等。

The browser don't do that because there's no reason. It just URL-encodes the special characters conform the application/www-x-form-urlencoded contract which is automatically URL-decoded by calling getParameter().

If you really need to XML-escape them, you'd need to do it yourself after obtaining the request parameter. The Apache Commons Lang StringEscapeUtils#escapeXml() is helpful in this:

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

However, why would you do that? Do you have problems with redisplaying them in the HTML? For that there's a much easier solution, just use UTF-8 everywhere. E.g. add the following in top of your JSP:

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

Etcetera.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文