0
votes

I'm using apache and tomcat7 with mod_jk. In tomcat7/conv/server.xml I'm using the following AJP connector

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

In /etc/apache2/conf.d/charset, I have removed the comment from the following line

AddDefaultCharset UTF-8

In my spring application, I even added the following web filter (even though this step was not necessary in my local or dev environments)

<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>

Despite all of these settings, when I POST form data, the request parameter values have + sign instead of white space by the time it gets to my spring controller. Am I missing some other setting?

I've tried to connect to tomcat directly using port 8080 instead of mod_jk, but I still had the same problem.

1

1 Answers

0
votes

if you are using JSP for view, did you put s Content-Type: text/html; charset=UTF-8 in the header?