Index: lams_common/src/java/org/lamsfoundation/lams/web/filter/LocaleFilter.java =================================================================== diff -u -r4ae6a9897db7a4621a0d43787332f031250aec6f -r35bb70e9c0e613aa95db7ab0fa65df9d0f469130 --- lams_common/src/java/org/lamsfoundation/lams/web/filter/LocaleFilter.java (.../LocaleFilter.java) (revision 4ae6a9897db7a4621a0d43787332f031250aec6f) +++ lams_common/src/java/org/lamsfoundation/lams/web/filter/LocaleFilter.java (.../LocaleFilter.java) (revision 35bb70e9c0e613aa95db7ab0fa65df9d0f469130) @@ -44,13 +44,28 @@ * @version $Revision$ */ public class LocaleFilter extends OncePerRequestFilter { - -// private static final String DEFAULT_LANGUAGE = "en"; + private String encoding; + + // private static final String DEFAULT_LANGUAGE = "en"; // private static final String DEFUALT_COUNTRY = "AU"; private static final String PREFERRED_LOCALE_KEY = "org.apache.struts.action.LOCALE"; private static final String CHARSET_KEY_KEY = "org.lamsfoundation.lams.web.filter.CHARSET.KEY"; + /** + * Set the encoding to use for requests. This encoding will be + * passed into a ServletRequest.setCharacterEncoding call. + */ + public void setEncoding(String encoding) { + this.encoding = encoding; + } + public void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain chain) throws IOException, ServletException { + //charset encoding + if(StringUtils.isEmpty(this.encoding)) + request.setCharacterEncoding(encoding); + else + request.setCharacterEncoding("UTF-8"); + Locale preferredLocale = null; //Comment: This getParameter() cause problem when reading WDDX packet, which need request.getInputStream() method. //user set has first prority: