前几天在完成一个ssh框架的项目时遇到一个小问题,情况是这样的。
在action中定义了私有变量,并提供get(),set()方法,js代码中就应该可以访问它。于是我从js代码中通过地址栏传值给了action的相应变量,但是,如果变量值为中文的时候,在action中测试输出则为“???”,而浏览器地址栏中仍然能显示中文。
我先根据网上一些解答配置了tomcat的配置文件,未果。后来想想也许不是什么复杂的问题,应该就是编码问题。我的myeclipse和项目的编码都设置为的“UTF-8”。于是我试着把项目和myeclipse编码都设为“iso8859-1”,还是不行。
这样不行,我便采取了更直接的方式,在action中把获取的变量值转换一下试试(假设变量为string):
String newstring = new String(string.getBytes("iso8859-1"));
但是这样还是没有用~~~~~~试了很久发现我的想法是对的但是合适的语句应该如下:
Stringnewstring = new String(string.getBytes("iso8859-1"),"utf-8");
ps:我先试着转成GBK,然后发现字可以显示了,但是没人认识的字。。。果然还是“iso8859-1”对中文的支持好啊
分享到:
相关推荐
我从js代码中通过地址栏传值给了action的相应变量,但是,如果变量值为中文的时候,在action中测试输出则为问号
解决:delete.action?title=()%>传到action类出现乱码的问题
Action获取jsp表单中的中文参数,只要整个项目都采用UTF-8编码格式都不会出现乱码问题;但JSP中用到JS,并从JS向Action传中文参数,就会出现中文乱的现象
在web开发的时候,经常会出现中文乱码,你首先看看,你的乱码问题是处在数据库方面呢? 还是代码中,这里的解决是代码中的乱码,里面有两种方法可以解决
c# 用委托传值 Action 新手学习比较好
可以解决在jsp页面向action传值遇到的中文乱码问题。
1、父窗体传值给两个子窗体; 2、子窗体传值给另一个子窗体
2:想要隐藏地址栏的参数 //新创建一个form表单 [removed]('<form name=myForm></form>'); var myForm=document.forms['myForm']; myForm.action='runEmpAttendance'; myForm.method='POST'; var ...
本文实例讲述了JS传值出现中文参数乱码的解决方法。分享给大家供大家参考,具体如下: function PopupFK(cNum,type){ var url = "contract!Paying.action"; url = url + "?contract.contractNum="+cNum+"&...
如果直接拼接,传到后台Action的参数对象中后取出会是乱码,需要编码后再拼接到URL上。 解决方法是在Action中添加一个成员变量,保存编码后的中文参数。在vm页面渲染时取出这个变量值,再拼接超链接。 在这里碰到的...
从js向Action传中文参数出现乱码问题的解决方法.docx
主要介绍了Jquery Ajax方法传值到action的方法,需要的朋友可以参考下
action之间传值用chain,redirectAction应该不行
C#委托事件,窗体之间可以传值 是两个可以看到效果的实例,也是基本思路,其他想怎么做只要稍微做一下扩展就可以了
传值问题 在其中取值的方法有两种: #+映射名, 直接写映射名。 1.不加#的方式获取(所有对象放置在栈顶): a.XXaction中有该字段的成员变量. b.XXaction中该对象返回个给实现对象ModelDriven的泛型, 即action中下面...
Struts2表单标签的应用实例。 主要功能是在一个页面提交个人信息之后跳转到另一个页面显示之前所提交的个人信息。具体介绍和功能演示请移步我的博客: http://blog.csdn.net/qq_33171970/article/details/51380991
中文乱码,首先要区分是页面乱码、action乱码,还是数据库乱码。 大致的原理是java使用unicode编码-->window使用gbk(gb2312的扩展集)--mysql默认使用utf-8(unicode的一种编码方法),这样转来转去就乱码了。
struts2 超级链接中传递中文到Action,不能正常传递,经过两次转换,顺利实现对中文文档的读取。