Tomcat 发布特殊字符 [英] Tomcat post special characters

查看:57
本文介绍了Tomcat 发布特殊字符的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在我的 maven 项目中,我有一个将数据发布到 HttpServlet 的 html 表单.在我以 html 形式发布特殊字符的那一刻(例如jänsen",HttpServlet 接收Jänsen".

我想我需要将设置更改为 UTF-8,但我不知道我必须在哪里这样做...

解决方案

您可以尝试在您的 web.xml 中配置 org.apache.catalina.filters.SetCharacterEncodingFilter如下:

<filter-name>设置字符编码</filter-name><filter-class>org.apache.catalina.filters.SetCharacterEncodingFilter</filter-class><init-param><param-name>编码</param-name><param-value>UTF-8</param-value></init-param><init-param><param-name>忽略</param-name><param-value>false</param-value></init-param></过滤器><过滤器映射><filter-name>设置字符编码</filter-name><url-pattern>/*</url-pattern></过滤器映射>

<块引用>

设置用于解析的字符编码的过滤器传入请求,无论是无条件的还是仅当客户端没有指定字符编码.

关于这个过滤器的更多信息这里

In my maven project I have a html form that post data to a HttpServlet. On the moment I post special characters in the html form (e.g. "jänsen", the HttpServlet receives "Jänsen".

I think I need to change settings to UTF-8 but I don't know where I have to do that...

解决方案

You can try to configure org.apache.catalina.filters.SetCharacterEncodingFilter in your web.xml as next:

<filter>
    <filter-name>Set Character Encoding</filter-name>
    <filter-class>org.apache.catalina.filters.SetCharacterEncodingFilter</filter-class>
    <init-param>
        <param-name>encoding</param-name>
        <param-value>UTF-8</param-value>
    </init-param>
    <init-param>
        <param-name>ignore</param-name>
        <param-value>false</param-value>
    </init-param>
</filter>
<filter-mapping>
    <filter-name>Set Character Encoding</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>

Filter that sets the character encoding to be used in parsing the incoming request, either unconditionally or only if the client did not specify a character encoding.

More info about this filter here

这篇关于Tomcat 发布特殊字符的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆