日期:2014-05-19  浏览次数:20809 次

javaee中乱码问题
ssh框架。在jsp页面上写上超链接地址:demoAction?type=信息;在DemoAction里面接收String type=httpservletrequest.getParamter("type");然后type的值就是??,用了网上的两种方法,方法一:httpServletResponse.setContentType("text/html; charset=UTF-8");httpServletRequest.setCharacterEncoding("UTF-8");结果还是??
方法二:String type=new String(httpservletrequest.getParamter("type").getByte[]("UTF-8"))或者("IOS8859-1")
结果虽然是汉语,但是并不是“信息”两个字


有没有其他方法,不要filter的那种,感觉跟第一种方法的效果应该是一样的。


------解决方案--------------------
如果参数包含中文,强烈建议使用form的post方式提交
------解决方案--------------------
用js,encode一下,后台decode一下
------解决方案--------------------
String type=new String(httpservletrequest.getParamter("type").getBytes("iso-8859-1") ,"UTF-8")
------解决方案--------------------
前台用js的encodeURI等3个函数编译,后台在解码就好了,解码用utf-8去解码
------解决方案--------------------
探讨
String type=new String(httpservletrequest.getParamter("type").getBytes("iso-8859-1") ,"UTF-8")

------解决方案--------------------
Java code
type= new String(type.getBytes("iso-8859-1"), "UTF-8");