struts2中文乱码问题

我的程序很简单:1、A页面输入中文B页面显示;2、简单上传文件很显然中文乱码了,然后我在struts.xml中加入了<constantname="struts.i18n.... 我的程序很简单:
1、A页面输入中文B页面显示;
2、简单上传文件
很显然中文乱码了,然后我在struts.xml中加入了
<constant name="struts.i18n.encoding" value="gbk"/>
1、结果还是乱码,请问这是为什么,该如何解决?
2、在没有加入上面标签时,我的文件上传中文不是乱码,而加上解决乱码标签后不但从A页到B页的乱码没解决,我的文件上传中文也变乱码了,请问这是为什么,如何解决?
你回答的很全,很谢谢你,但还不是我想问的,我用的是struts2,希望以一种很简单的方法解决。我想知道为什么我加的<constant>标签不好使?及同样简单的解决办法。

我页面是utf-8的我的struts2也是utf-8的我从A页面提交用户名,经过Action到B页面就变成乱码了(B页面也是utf-8)请问这是怎么回事呢?
展开
 我来答
LHLBT3GOOD
2010-03-27 · TA获得超过546个赞
知道小有建树答主
回答量:401
采纳率:0%
帮助的人:535万
展开全部
那个标签的作用不是万能的

如果你用get提交,tomcate会对url编码成iso-8859-1
你页面不是gbk而是utf8,那么怎么转也转不回...

你应该这样:
1)把所有页面编码变成gbk
2)尽可能用post传递参数
3)你的数据库编码也变成gbk

这样你的编码就全部统一了...这个方法已经很简单了,就是注意习惯,之后什么转码之类的根本不用做
如果你寻找再简单的方法...这个...
找到了hi我...
j00710
2010-03-31 · TA获得超过375个赞
知道小有建树答主
回答量:377
采纳率:0%
帮助的人:295万
展开全部
中文乱码 老问题了
1.JSP页面设置为UTF-8
2.requset请求设置为UTF-8
3.将Tomcat配置文件有个地方修改为UTF-8
tomcat的server.xml配置文件 在<connector Port = 8080 的最后加上URIEncoding="UTF-8"

4.在mysql的链接上加上字符编码
URL=jdbc:mysql://localhost:3306/sjfg?useUnicode=true&characterEncoding=UTF-8
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
walkingz
2010-03-27 · TA获得超过351个赞
知道答主
回答量:32
采纳率:0%
帮助的人:32.4万
展开全部
首先你没有说 你页面的编码方式是什么。
如果你的页面编码方式是utf-8的话
,当然不加<constant name="struts.i18n.encoding" value="gbk"/>
这句,肯定不会出现乱码,因为struts2 默认的编码方式就是utf-8
编码方式都一样,当然不会出现乱码。

我一般解决 乱码问题。我首先 从数据库编码方式就是utf-8 jsp页面也是utf-8 struts2 默认就是utf-8 你说 我还用写 过滤器解决中文乱码问题吗?
当然是不需要的。
我认为 这就是 解决中文乱码的 很好方法吧。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
编程世界
2010-03-26 · 超过10用户采纳过TA的回答
知道答主
回答量:51
采纳率:0%
帮助的人:24.2万
展开全部
Struts中文乱码问题

Java代码

String ss=new String(str.getBytes("ISO-8859-1"),"GBK");

String ss=new String(str.getBytes("ISO-8859-1"),"GBK");

1、页面乱码

把Encoding改成pageEncoding="utf-8"

在Eclipe里JSP页面默认的编码是ISO-8859-1,若要改成是UTF-8则在菜单栏Windows-->Prefrences,然后选择MyEclipse-->Files and Editor-->JSP,选择Encoding就OK了。

打开JSP页面时采用的是MyEclipse JSP Editor而不是Visual JSP Designer方式:

打开windows-->preferences-->General-Editors-->File Associations,在File types中选中“*.jsp”,在下窗口Associated editors中选中“MyEclipse JSP Editor”,点击右边的“Default”按钮,点击“OK”退出。

今天遇到在Eclipse的JAVA类注释中出现乱码的现象,解决办法:菜单栏Windows-->Prefrence-->General-->WorkSpace中选择Text File Encoding 为GBK就OK了。(Eclipse 默认情况下是GBK,要看之前写注释用的Encoding是什么就改什么)

2、传递参数乱码(POST,GET方法传递的参数都出现乱码)

步骤一:修改server.xml 大概在50行左右,在Connector标签中加入 URIEncoding="UTF-8"

步骤二:编写过滤器类characterEncodingFilter实现ServletFilter接口,

在doFilter(ServletRequest request,ServletResponse response,FilterChain chain)方法中

加入代码 request.setcharacterEncoding("utf-8");

chain.doFilter(request,response);

步骤三:在web-xml中加入代码

<filter>

<filter-name>characterEncoding</filter-name>

<filter-class>com.casa2.struts.characterEncodingFilter</filter-class>

</filter>

<filter-mapping>

<url-pattern>/*</url-pattern>

</filter-mapping>

3、国际化中文乱码

方法一:native2ascii -encoding gbk ApplicationResources_zh_CN.Properties

temp.properties

方法二:Eclipse ResourceBundle Editor插件

4、服务器配置

直接在服务器里设置编码转换。我用的是TOMCAT5.0.28。
在..\Tomcat 5.0\conf目录里找到SERVER.XML文件,用写字板打开它,设置如下:
<Connector port="8080" maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8443" acceptCount="100" debug="0"connectionTimeout="20000" disableUploadTimeout="true" URIEncoding="GBK"/>
里面增加一个属性就可以了,URIEncoding="GBK"
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式