You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@struts.apache.org by "Rainer Hermanns (JIRA)" <ji...@apache.org> on 2008/06/21 11:19:05 UTC

[jira] Commented: (WW-2361) the default request charEncoding always used.

    [ https://issues.apache.org/struts/browse/WW-2361?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=44232#action_44232 ] 

Rainer Hermanns commented on WW-2361:
-------------------------------------

I'd suggest to use a request encoding filter instead. Try something like this:

    <filter>
        <filter-name>encodingFilter</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>

    <filter-mapping>
        <filter-name>encodingFilter</filter-name>
        <url-pattern>/*</url-pattern>
        <dispatcher>REQUEST</dispatcher>
        <dispatcher>FORWARD</dispatcher>
        <dispatcher>INCLUDE</dispatcher>
        <dispatcher>ERROR</dispatcher>
    </filter-mapping>

> the default request charEncoding always used.
> ---------------------------------------------
>
>                 Key: WW-2361
>                 URL: https://issues.apache.org/struts/browse/WW-2361
>             Project: Struts 2
>          Issue Type: Improvement
>    Affects Versions: 2.0.11
>            Reporter: Avatar Zhang
>             Fix For: 2.2.x
>
>
> // SUGGESTION
> Index: Dispatcher.java
> ===================================================================
> --- Dispatcher.java	(revision 602010)
> +++ Dispatcher.java	(working copy)
> @@ -620,10 +620,16 @@
>          }
>  
>          if (encoding != null) {
> -            try {
> -                request.setCharacterEncoding(encoding);
> -            } catch (Exception e) {
> -                LOG.error("Error setting character encoding to '" + encoding + "' - ignoring.", e);
> +            String encoding2 = request.getCharacterEncoding();
> +            if (encoding2 == null) {
> +                try {
> +                    request.setCharacterEncoding(encoding);
> +                    LOG.info("Set Character Encoding to " + encoding + "!");
> +                } catch (Exception e) {
> +                    LOG.error("Error setting character encoding to '" + encoding + "' - ignoring.", e);
> +                }
> +            } else {
> +                LOG.info("Character Encoding is " + encoding2 + ".");
>              }
>          }
>  

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.