struts2中文乱码问题,我可咋办啊…………>_<

从前有只猫Princess 程序员  2012-10-31 10:53:56
我的页面是这么写的:
<s:url id="url" action="StudentInfoManager/spec/update" >
<s:param name="specialty.id" value="%{spec.id }"></s:param>
<s:param name="specialty.name" value="%{spec.name }"></s:param>
<s:param name="specialty.description" value="%{spec.description }"></s:param>
<s:param name="specialty.status" value="%{spec.status }"></s:param>
<s:param name="direction" value="%{'回收站'}"></s:param>
</s:url>
<s:a href="%{url}">放入回收站</s:a>
页面的编码是utf-8
但是direction的值“回收站”传进action里就变成乱码,但是用form提交时,就不会出现中文乱码的情况。我把tomcat的server.xml文件都填上<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" URIEncoding="utf-8" />,就是不好使,郁闷死了!!
望各位大侠有经验者帮帮小妹,感激不尽!!!
...全文
140 点赞 收藏 7
写回复
7 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
hanbin_ 2012-11-01
如果是struts2开发,首先页面全部统一编码方式为:UTF-8 ; 如果接收数据成乱码,那你就在写一个过滤器设置编码方式也为UTF-8 不行设成GBK 再不行 该配置文件 全改成GBK
回复
什么都不能 2012-10-31
汉字用urlencoder编码
回复
HCW07 2012-10-31
首先你要看你的编码格式是否全部都是一种格式。注意在jsp页面的编码格式,要是以上还出现乱码那就写过滤器。但是过滤器不是万能的,那你只能写这么写了:
String userStr=new String(name.getBytes("iso-8859-1")); //去除乱码request获取的值
movebooking.setArea(new String(movebooking.getArea().getBytes("ISO-8859-1"),"UTF-8"));//struts去除乱码movebooking是实体类属性
回复
[Quote=引用 1 楼 的回复:]
你这个相当于url提交,在后台把参数再转成UTF-8或者写个过滤器
[/Quote]


不过还是很感谢这位兄台滴~~~
回复
刚刚解决了,在别的帖子里看到了一个方法:
在MyEclipse中编写Web Project,有3个地方需要改编码设置:
1.
window-->preference-->general-->content type
然后在<Content Types>中展开每一个子项,并在<Default encoding>中输入"UTF-8"点update!
2.
window-->preference-->MyEclipse-->Files and Editors
将每个子项的"Encoding"改为"ISO 10645/Unicode(UTF-8)"或"Chinese,National Standard",点Apply!
以后所有创建的文档类型都是UTF-8格式!

3.为了使项目中不会出现extjs中文乱码的问题,建议把myeclipse的workspace的设置成utf-8的编码
window-->preference-->general-->workspace->text files encoding ->other 选择Utf-8
这样在加载js代码的时候 js的编码和jsp的编码相同 就不会出现乱码 或是extjs效果不能显示的问题了



还是myeclipse配置的问题
回复
shixitong 2012-10-31
你这个相当于url提交,在后台把参数再转成UTF-8或者写个过滤器
回复
相关推荐
发帖
Web 开发
创建于2007-09-28

8.0w+

社区成员

Java Web 开发
申请成为版主
帖子事件
创建了帖子
2012-10-31 10:53
社区公告
暂无公告