Struts2中的中文乱码问题求大神解决

qq447008055 2012-12-13 06:00:36
我用struts2做BBS现在出现了表单提交中文出现乱码的问题!我跟踪调试了数据没进数据库就已经是乱码了!去网上搜了很多解决方法始终没有解决!
下面发下我的设置!
1.<%@ page language="java" import="java.util.*" contentType="text/html;charset=UTF-8" pageEncoding="UTF-8"%>
2.<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
求高手帮助啊困扰很多天了
...全文
278 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
只是过路人 2012-12-15
  • 打赏
  • 举报
回复
1.用post提交 2.删除页面的<%@ page %>里面的编码设置保存试试,有两个编码,删除的组合你自己试试 3.Filter设置编码 4.Struts拦截器设置编码 一般经过以上几个解决方法,可以解决你的问题了。
liangchengfck1 2012-12-14
  • 打赏
  • 举报
回复
项目里面的编码必须统一 jsp的utf-8 struts配置文件utf-8 post提交 基本可以解决 如果不行可以加过滤器过滤 这个需要在web配置文件中把过滤的文件改为*就是什么文件都过滤 还不行那在action中在设置编码utf-8 HttpServletRequest的SetCharacterEncoding方法response.set……(“utf-8”) 还不行 我也不知道了
jeff_jiang 2012-12-14
  • 打赏
  • 举报
回复
看到乱码就头大。。把所有能设charset的地方全部设成utf-8
JoeyLin1990 2012-12-14
  • 打赏
  • 举报
回复
改用post提交 再用4.5楼的方法 不行的话4楼就可以安心的去了
lxy15329 2012-12-14
  • 打赏
  • 举报
回复
中文乱码处理方法就那么几个,如果一遍试下来都不行,那就不使用中文了呗。最好的方式是使用过滤器,反正我以前使用屡试不爽
  • 打赏
  • 举报
回复
引用 15 楼 lsbggg 的回复:
你确定你用的是表单提交么?该不会是在表单中使用url提交,也叫表单提交吧?
需要楼主确认一下
UUGN 2012-12-14
  • 打赏
  • 举报
回复
我的乱码问题解决!! 把web.xml的
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
换成
<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
我的是数据一到Action就乱码的 不知道楼主是不是这个问题
lsbggg 2012-12-14
  • 打赏
  • 举报
回复
你确定你用的是表单提交么?该不会是在表单中使用url提交,也叫表单提交吧?
wenhaoxp1987 2012-12-14
  • 打赏
  • 举报
回复
你jsp用的是struts标签还会input标签?如果是input标签的话换位struts标签试试,又是标签也会有问题的,试试
杰仔仔哦 2012-12-14
  • 打赏
  • 举报
回复
中文乱码处理就这几个地方,居然全部阵亡。。。。
UUGN 2012-12-14
  • 打赏
  • 举报
回复
Tomcat的server.xml struts.xml的<constant ... /> web.xml的Filter Window->preferences下所有的 全部都是utf-8 所有方法全部阵亡 难道是我打开方式不对?
wenhaoxp1987 2012-12-14
  • 打赏
  • 举报
回复
应该是项目的编码问题,单一的在项目直接改变编码可能改变不了实质的编码,试试eclipse中window---preferences---contentType---type把项目中对应的各种文件格式改为utf-8再update一下应该可以解决
dengsilinming 2012-12-14
  • 打赏
  • 举报
回复
把整个项目的编码设置成utf-8,楼上说了那么多方法总有一个能解决你的问题吧。我用的时候怎么就没遇到表单提交还出现乱码的情况呢
UUGN 2012-12-14
  • 打赏
  • 举报
回复
我的也是struts2编码问题 所有的方法都试了 一点效果都没有 谁能看出"中文" 这是"中文"的意思? 深深的”妇FU”产C“科K“ Mark 陪楼主等牛人
BUG胡汉三 2012-12-13
  • 打赏
  • 举报
回复
引用 4 楼 nicholasbobo 的回复:
在web.xml中加上下面这句: Java code?12345678<filter> <filter-name>struts-cleanup</filter-name> <filter-class>org.apache.struts2.dispatcher.ActionContextCleanUp</filter-class> </f……
<Connector port="8080" protocol="HTTP/1.1" 
               connectionTimeout="20000" 
               redirectPort="8443" URIEncoding="UTF-8"/>
URIEncoding="UTF-8"
nicholasbobo 2012-12-13
  • 打赏
  • 举报
回复
在web.xml中加上下面这句:
<filter>
		<filter-name>struts-cleanup</filter-name>
		<filter-class>org.apache.struts2.dispatcher.ActionContextCleanUp</filter-class>
	</filter>
	<filter-mapping>
		<filter-name>struts-cleanup</filter-name>
		<url-pattern>/*</url-pattern>
	</filter-mapping>
再有问题我自杀
宋文斌 2012-12-13
  • 打赏
  • 举报
回复
方法1、在struts.xml中添加:<!-- 指定默认编码集,作用于HttpServletRequest的SetCharacterEncoding方法和freemarker、velocity的输出 --> <constant name="struts.i18n.encoding" value="UTF-8" /> 方法2、如果你用的是Mysql数据库,试试在连接的后面指定编码格式:jdbc:mysql://localhost:3306/test?user=root&password=&useUnicode=true&characterEncoding=UTF-8 方法3、加过滤器 如果上述方法不行的话就把上面的三个都弄上
zxhcloth 2012-12-13
  • 打赏
  • 举报
回复
创建一个过滤器,在过滤器的doFilter方法中加入这行代码request.setCharacterEncoding("utf-8"); 如果还不行,那检查下你的数据库编码是否支持utf-8 正常情况下以上两步可以帮你解决问题,如果还解决不了,再议。
「已注销」 2012-12-13
  • 打赏
  • 举报
回复
表单的提交方式是get还是post?

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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