jsp post 表单提交 中文乱码 高高帮帮忙回答啊 在线等待求答

garysgarys 2009-10-25 08:46:18
我的问题是这样的:
一个form 表单里有个文本框:输入英文,在给struts(1.3)的formbean 赋值时没问题,但是,输入中文时,formbean 对应的属性就会出现乱码啦。
(struts 和jpa 及spring 集成的一个项目)

<form action="/product/query.do" method="post" name="search" id="search">

商品搜索:<input id="word" name="word" accesskey="s" size="100" maxlength="100" value=""/>

<input type="submit" value="搜 索" id="DoSearch"/>
</form>


action:


@Controller("/product/query")
public class ProductQueryAction extends Action {
@Resource ProductSearchService productSearchService;

@Override
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {

ProductQueryForm formbean = (ProductQueryForm)form;=================》》》中文赋值时有乱码
PageView<ProductInfo> pageView = new PageView<ProductInfo>(12,formbean.getPage());
pageView.setQueryResult(productSearchService.search(formbean.getWord(),
pageView.getFirstResult(), pageView.getMaxresult()));

request.setAttribute("pageView", pageView);
return mapping.findForward("list");
}

}
...全文
2054 26 打赏 收藏 转发到动态 举报
写回复
用AI写文章
26 条回复
切换为时间正序
请发表友善的回复…
发表回复
huhaiwei2006 2010-01-08
  • 打赏
  • 举报
回复
你所传递的数据是从数据库中查询出来的吗·?


要是从数据库中查询的数据进行传递··

看看数据库中的数据是否乱码··、

可能于数据库有关。。。。

Tomhahaha1 2010-01-08
  • 打赏
  • 举报
回复
怎么这么多人遇到乱码问题啊。如果在项目组的话,最好每个人都统一下编码,我现在的项目都使用UTF-8,没有乱码的问题,也没有写设置字符编码的过滤器,很方便的!
liu_moyan 2010-01-08
  • 打赏
  • 举报
回复
[Quote=引用 21 楼 wenjjing2lianee 的回复:]
引用 18 楼 garysgarys 的回复:
过滤器乱码问题终于解决:
感谢朋友热心的参与:
首先讲一下我的问题:
我的问题是出在:
在配置过滤器时:位置不对。
我的项目中有8、9个filter ,应该把过滤字符编码的放在第一位,这样,就像一个链条一样,第一个一定把字符放好。

其它的:都是小意思了。顺便提一下:
1:jsp 页面有乱码:pageEncode=utf8
2:servlet-->jsp 乱码:在sevlet里:
request.setCharacterEncoding("utf-8");
response.setContentType("text ml;charset=UTF-8");
3:表单参数乱码:
  post:过滤器来处理:(网上很多)
4:URI 参数乱码:
  配置tomcat(server.xml 加入URIEncoding="utf-8")
5:property乱码:
  下个日本鬼子写的:jp.gr.java_conf.ussiy.app.propedit_4.8.2_for_eclipse3.0.zip 

最后,最重要的一点:就是我琢磨了整整一整天的 当有多个filter时:处理文字乱码的要放在第一个位置。


学习
[/Quote]
me too
hyldream 2010-01-08
  • 打赏
  • 举报
回复
把jsp 页面中<page >编码格式改成utf-8或者gbk或者gb2312
wenjjing2lianee 2010-01-08
  • 打赏
  • 举报
回复
[Quote=引用 18 楼 garysgarys 的回复:]
过滤器乱码问题终于解决:
感谢朋友热心的参与:
首先讲一下我的问题:
我的问题是出在:
在配置过滤器时:位置不对。
我的项目中有8、9个filter ,应该把过滤字符编码的放在第一位,这样,就像一个链条一样,第一个一定把字符放好。

其它的:都是小意思了。顺便提一下:
1:jsp 页面有乱码:pageEncode=utf8
2:servlet-->jsp 乱码:在sevlet里:
request.setCharacterEncoding("utf-8");
response.setContentType("text ml;charset=UTF-8");
3:表单参数乱码:
  post:过滤器来处理:(网上很多)
4:URI 参数乱码:
  配置tomcat(server.xml 加入URIEncoding="utf-8")
5:property乱码:
  下个日本鬼子写的:jp.gr.java_conf.ussiy.app.propedit_4.8.2_for_eclipse3.0.zip 

最后,最重要的一点:就是我琢磨了整整一整天的 当有多个filter时:处理文字乱码的要放在第一个位置。
[/Quote]

学习
andyiouv1 2010-01-08
  • 打赏
  • 举报
回复
uft-8 过滤器 网上很多的
package filter; 

import java.io.IOException;

import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;

public class Filter implements javax.servlet.Filter {

public void destroy() {
// TODO Auto-generated method stub

}

public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
request.setCharacterEncoding("utf-8");
chain.doFilter(request, response);
}

public void init(FilterConfig arg0) throws ServletException {
System.out.println("filter--------init?");

}

}
garysgarys 2009-10-26
  • 打赏
  • 举报
回复
过滤器乱码问题终于解决:
感谢朋友热心的参与:
首先讲一下我的问题:
我的问题是出在:
在配置过滤器时:位置不对。
我的项目中有8、9个filter ,应该把过滤字符编码的放在第一位,这样,就像一个链条一样,第一个一定把字符放好。

其它的:都是小意思了。顺便提一下:
1:jsp 页面有乱码:pageEncode=utf8
2:servlet-->jsp 乱码:在sevlet里:
request.setCharacterEncoding("utf-8");
response.setContentType("text ml;charset=UTF-8");
3:表单参数乱码:
post:过滤器来处理:(网上很多)
4:URI 参数乱码:
配置tomcat(server.xml 加入URIEncoding="utf-8")
5:property乱码:
下个日本鬼子写的:jp.gr.java_conf.ussiy.app.propedit_4.8.2_for_eclipse3.0.zip

最后,最重要的一点:就是我琢磨了整整一整天的当有多个filter时:处理文字乱码的要放在第一个位置。
cuiqunhao 2009-10-26
  • 打赏
  • 举报
回复
自己写一个servelt过滤器试试
liuhua_sun 2009-10-25
  • 打赏
  • 举报
回复
在request、response中设置了setContentType值,用过滤器也不行还真没有遇到过,
楼主自己换个环境吧!
帮顶啊 !
Rainyzq 2009-10-25
  • 打赏
  • 举报
回复


查看一下你的jsp页面的编码和action中的编码是否相同
niat06 2009-10-25
  • 打赏
  • 举报
回复
有中文的情况下,JSP的编码肯定是GB2312、GBK、UTF-8中的一种,也是是JSP页面上pageEncoding。
JSP页面编码方式设置好以后,通过POST方式传值,还要设置request.setCharacterEncoding("XXX"),其中XXX和你在JSP页面设置的编码方式一样。
如果从Servelet中取数据到JSP页面上,还要设置response.setContentType("XXX"),其中XXX跟JSP页面上的也一样
lgcsyq 2009-10-25
  • 打赏
  • 举报
回复
设置一个过滤器,
pangpanglovezz 2009-10-25
  • 打赏
  • 举报
回复
还有 tomcat也设置一下 试试 不行 我也不知道怎么办了 不好意思
pangpanglovezz 2009-10-25
  • 打赏
  • 举报
回复
所有涉及到传参的地方设置统一utf-8试试看
z3s6e3 2009-10-25
  • 打赏
  • 举报
回复
重新写页面吧!不行了换个环境试试!估计是你开发环境的问题
garysgarys 2009-10-25
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 pangpanglovezz 的回复:]
在tomcat设置一下
[/Quote]
在tomcat里 是不是加个 URIEncoding="gbk",还是其它高见,说出具一点啊
garysgarys 2009-10-25
  • 打赏
  • 举报
回复
网上说 :tomcat 对于处理post 和get 方式的请求,处理方法不一样,get 要在(tomcat-->config.xml-->server.xml 中 加个 URIEncoding="gbk"……,都不行啊。

是不stuts 和spring 集成造成的呢?
pangpanglovezz 2009-10-25
  • 打赏
  • 举报
回复
在tomcat设置一下
only_u_me 2009-10-25
  • 打赏
  • 举报
回复
你加过滤器 也不行么?
不行 我也就米法了
garysgarys 2009-10-25
  • 打赏
  • 举报
回复
这个也试过了,也在web.xml配置好了,还是不行啊,困扰了我一整天了……
加载更多回复(5)

81,094

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧