补充一下,如果在JSP页中汉字显示正常
解决方案 »
- 大家一定用过IP地址速查吧(http://www.ip138.com/),这个网站是怎么知道某个IP是哪里的?
- 请问程序员到底要达到什么样的水平才能被称为入门级?
- JFreeChart问题 比较有难度
- 如何配置tomcat+ActiveMQ?(希望能够提供详细配置)
- 在CMD模式下如何读取用户输入的一个字符
- 新手,如何实现日期格式的校验和两个日期的差??????????????
- 群发邮件是怎么一回事?
- MVC之Struts问题 - 在线等待
- 请大家推荐几个struts入门的好书或好站点,目前中文资料太少
- 高手请进!!!!!
- 添加JavaBean成员变量读写方法的问题
- hibernate 表关联的问题!急!!!
不用写过滤类或者SERVLET的
<html>
<head>
2. <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
</head>
<body>
你把上面2个地方加上去看看
强烈建议使用struts时所有编码均采用UTF-8(unicode)编码
因为要考虑到很多国的语言,一开始就把项目立足于国际化,遇到的乱码有
1、资源文件里读出来在页面上的乱码;
2、数据库读出来的乱码
3、数据库写进去的乱码
4、在ActionForm验证不通过Errors返回的乱码,也就是request,IE参数传递的乱码了。
下面是我的解决方法
1、资源文件里读出来在页面上的乱码:这个最容易解决了,把写好的ApplicationResources.properties文件,在DOC底下用 native2ascii -encoding gb2312 ApplicationResources.properties
ApplicationResources_zh_CN.properties 命令来个字符编码转换,将原来的中文转为Unicode编码就搞定了中文简体,繁体也用同样的命令,只是把 bg2312 改为 bgk 就可以了。
2、数据库读写的乱码,刚开始的时候因为受以前的SQL Server+JDBC 影响(在那时写入数据库是可以不用做什么工作的,只是在读出来的时候来个 gbk = new String(iso.getBytes("ISO-8859-1"), "GBK") 转换就行了)我也都在把读写都在转换,搞得好复杂也很麻烦,后来在连接池连接代码jdbc:mysql://localhost:3306/database?autoReconnect=true&useUnicode=true&characterEncoding=UTF-8那里加上一个&useUnicode=true&characterEncoding=UTF-8,保证了在数据库操作时候使用了统一的编码字符集,又解决了两个乱码问题,一举两得,嘿嘿。
4、request,response的乱码在网上找了好久,也有两个解决的办法,也是来个转换,还有种办法是写一个过滤器,我选择了后者,因为简单:),这方法用到两个文件,一个是 filter ,一个是 web.xml 文件,代码在后面。
5、至于JS的这个问题,还没办法,只好在JSP页面上改为<%@ page contentType=“text/html; charset=UTF-8“%>了,反正这样也没问题。
到此为止,乱码问题总算告一段落了,感觉蛮不错的,郁闷了这么久,终于可以高兴了好大一段子了。 package Filter;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.*;
public class MyFilter extends ActionServlet
{
protected void process(HttpServletRequest request, HttpServletResponse response)
throws java.io.IOException, javax.servlet.ServletException
{ /**@todo Override this
org.apache.struts.action.ActionServlet
method*/
request.setCharacterEncoding("UTF-8");
super.process(request, response); }
}
而且我觉得问题的所在是JBOSS,TOMCAT等应用服务器的设置问题,在JBOSS里需要改个地方,但是一直没找到该怎么改.我用的JBOSS,希望哪位大人帮忙彻底解决下小弟这个问题,多谢``