0

我在 Tomcat 中有一个 java JSP/servlet 应用程序,前面有一个 Apache。

服务器端检查以确保仅接受 [A..Z][a..z] 范围内的字母、数字和标点符号。

但是,例如,当输入一个汉字时,服务器端的值看起来像“ᝈ”。

因此,就服务器端而言,这些是有效的标点符号和数字。

任何可以提供帮助的指针?10 次编码马拉松后让我发疯。

4

2 回答 2

0

您可以在 Java中使用 Apache Commons StringEscapeUtils.unescapeHTML() 。

unescapeHtml(String str)

执行以下操作:

将包含实体转义的字符串取消转义为包含与转义对应的实际 Unicode 字符的字符串。

于 2012-07-07T07:03:44.197 回答
0

您需要使用 UTF-8 等 unicode 编码来处理文本。

首先确保您的服务器正在处理使用 UTF-8 编码的请求。您设置或配置的位置取决于您如何实现 JSP/Servlet,但请参阅:http://docs.oracle.com/javaee/6/api/javax/servlet/ServletRequest.html#setCharacterEncoding(java. lang.String)

于 2012-07-07T07:06:27.707 回答