0

我正在使用带有 mod_jk 的 apache 和 tomcat7。在 tomcat7/conv/server.xml 我使用以下 AJP 连接器

  <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" 
    URIEncoding="UTF-8"
/>

在 /etc/apache2/conf.d/charset 中,我已从以下行中删除了注释

AddDefaultCharset UTF-8

在我的 spring 应用程序中,我什至添加了以下 Web 过滤器(即使在我的本地或开发环境中不需要此步骤)

<filter>
    <filter-name>CharacterEncodingFilter</filter-name>
    <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
    <init-param>
        <param-name>encoding</param-name>
        <param-value>UTF-8</param-value>
    </init-param>
    <init-param>
        <param-name>forceEncoding</param-name>
        <param-value>true</param-value>
    </init-param>
</filter>

尽管进行了所有这些设置,但当我发布表单数据时,请求参数值在到达我的 spring 控制器时具有 + 符号而不是空格。我是否缺少其他设置?

我尝试使用端口 8080 而不是 mod_jk 直接连接到 tomcat,但我仍然遇到同样的问题。

4

1 回答 1

0

如果您使用 JSP 进行查看,您是否输入了 s Content-Type: text/html; charset=UTF-8 在标题中?

于 2013-10-28T08:13:57.193 回答