首先写一个过滤器设置request和response的字符集编码
然后在web.xml中加入
问题分析:
Java类中使用的是Unicode编码,而在网页中使用的通常会是其它的编码,网页提交的数据到Java,或Java中的数据输出到网页的时候就会出现乱码
对于JSP可以使用<%@ page pageEncoding="GBK" contentType="text/html; GBK" language="java" %>网页使用的编码,这样服务器会自动进行转换,对于Servlet可以用request
.
setCharacterEncoding
(
encoding
)
;,
然而对于Struts中的Action和FormBean我们却没有办法.而Struts只能用过滤器来转换汉字编码,但是过滤器对Struts,Servlet,JSP都生效,不过JSP中的PageEncoding仍然不能去掉,它还有声明JSP源文件编码的作用.
参考:
SetCharacterEncodingFilter
http://wiki.apache.org/cocoon/SetCharacterEncodingFilter
这个类只有request过滤器,没有response过滤器
转载注明出处:http://blog.csdn.net/smcr_hetao/archive/2010/01/30/5272724.aspx
分享到:
相关推荐
总结来说,解决Struts下的汉字乱码问题,需要从页面、过滤器、服务器配置和Struts核心Servlet等多方面进行设置,确保在整个请求生命周期中,中文字符始终以正确的编码进行处理。这不仅涉及了前端的展示,还涉及到...
如果上述方法仍然无法解决问题,可以尝试使用自定义的过滤器来强制设置请求和响应的字符编码。例如,可以通过Spring的`CharacterEncodingFilter`来进行设置: ```xml <filter-name>encodingFilter ...
在 JSP 和 STRUTS 等框架中,可以使用过滤器来解决乱码问题。例如,在 TOMCAT 中,可以使用 SetCharacterEncodingFilter.java 这个类来解决乱码问题。 在资源文件中,乱码问题也很常见。其实解决资源文件的乱码问题...
1. 在web.xml中设置字符编码过滤器,例如设置`<filter>`来转换请求和响应的编码为UTF-8。 2. JSP页面头部声明正确的字符集,如`;charset=UTF-8" language="java" %>`。 3. Struts配置文件中指定ActionForm字段的编码...
或者,使用过滤器来统一处理请求和响应的编码问题,配置在web.xml中,确保所有请求和响应都经过过滤器处理。 数据库乱码通常涉及数据库的字符集设置。对于MySQL,可以在my.ini配置文件中设置`default-character-set...
总的来说,处理Structs中的中文乱码需要从多个层面入手,包括但不限于设置过滤器、配置拦截器以及确保页面和URL的正确编码。通过这些方法,我们可以有效地避免和解决中文乱码问题,从而保证应用程序的正常运行和用户...
在使用HibernateTemplate的saveOrUpdate方法时,如果遇到类似`\xE7\x84`这样的十六进制字符串,通常这是由于字符编码不匹配导致的汉字乱码问题。这个问题主要涉及到数据库的字符集设置、应用程序的编码配置以及数据...
解决JSP开发中Web程序显示中文...解决JSP开发中Web程序显示中文的三种方法分别是:使用page指令设置编码、使用过滤器和使用HttpServletResponse设置编码。每种方法都有其优缺,开发者可以根据实际情况选择合适的方法。