您的位置:首页 > Web前端 > JavaScript

jsp前台向后台传值出现中文乱码

2012-12-18 14:04 615 查看
在你的struts.xml中加入一句话<constant name="struts.i18n.encoding" value="gb2312"></constant>

这句话放在

<struts>

[b]<constant name="struts.i18n.encoding" value="gb2312"></constant>[/b]

<package>.........</package>

................

</struts>

今天编了一个很简单的程序,没有用到struts等,同样是在前台实现数据的修改,其中有中文,在后台中接收时出现了中文乱码,网上给了很多方法,比如String name=new String("name".getBytes("iso-8859-1"),"UTF-8");等等的方法都试了,没用,最后在后台public class 类名 extends HttpServlet中加了一条语句全搞定,加了request.setCharacterEncoding("UTF-8");,这里要注意,method是post

n天后的今天,我又编了个代码,使用struts2,出现了jsp页面输入汉字传到数据库中,发生乱码:

解决方法:

根据Struts文档的规定:只要在Struts.xml中配置这段话就可以解决中文乱码问题

<constant name="struts.i18n.encoding" value="GBK" />

但是2..1.6版本中这是一个Bug,没法解决中文乱码问题

解决办法是:一:升级到2.1.7之后的版本;二是:使用spring的filter,在web.xml中配置过滤

三:在web.xml中配置2.0版本的filter

<filter>

<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>

</filter>

我弄了半天,查文档终于搞好了,但你出现的问题可能和我的不一样,希望对你有用,没用的话,也希望你多看看文档,这是学习路上不可缺少的
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: