我们编写资源文件
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。
本文地址:http://com.8s8s.com/it/it16667.htm