我们编写资源文件 
password=<font color=red>密码格式错误</font> 
userName=<font color=red>帐号格式错误</font> 
hbm.session.error=建立Hibernate Session 错误。 
no.user=找不到这样得用户。 
hbm.session.query=Hibernate HQL 查询错误。 
errors.header=</font color=red><ul> 
errors.footer=</ul></font> 
Logon=登陆 
Logon.UserName=帐号 
Logon.Password=密码 
保存到C:/1.txt 
然后运行 
native2ascii -encoding GBK C:/1.txt C:/ApplicationResources_zh_CN.properties 
将生成得C:/ApplicationResources_zh_CN.properties拷贝到src目录下,我们重新运行此登陆程序。 
出现乱码,我们忘了将JSP页面编码设成UTF-8了,添加 
contentType="text/html;charset=UTF-8",再次刷新 
  
OK成功 
当你在帐号框里面输入中文,但是没有通过,就会出现下图现象。 
  
又出现乱码,这样的情况解决办法有3个: 
1.  在每一个Action里面设置Response得编码,这种方法比较繁琐,每一个Action必须设置一次。 
2.  利用Servlet2.3里面得过滤器,统一设置编码 
3.  重载ActionServlet里面的Process函数。 
  
第1种方法很难通过XML配置来获得编码方式。 
2,3可以通过Web.xml里面配置参数来解决 
本文讲述时利用方式2,过滤器Filter 
在Tomcat里面的samples里面的Filter文件夹下有现成的编码过滤器。 
拷贝来,在Eclipse利用重构,解决package不匹配问题。 
下面为这个过滤器配置web.xml 
<!-- 
        Filter 
        --> 
    <filter> 
        <filter-name>Set Character Encoding</filter-name> 
        <filter-class>com.yjsoft.filter.SetCharacterEncodingFilter</filter-class> 
        <init-param> 
            <param-name>encoding</param-name> 
            <param-value>UTF-8</param-value> 
        </init-param> 
    </filter> 
    <filter-mapping> 
        <filter-name>Set Character Encoding</filter-name> 
        <url-pattern>/*</url-pattern> 
    </filter-mapping> 
    <!-- 
    end 
    --> 
再次启动Tomcat测试,OK。  
 
  |