浏览 5220 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2010-11-09
最后修改:2011-08-06
通过HTTP GET方式向后台传递中文参数,后台从request..getParameter ()中取值。在tomcat开发环境下,从request中取到的值是乱码,在resin运行环境下,从request中取到的值是正常的(所有编码相关的地方都设置为UTF-8:包括jsp文件编码,response响应编码,CharacterEncodingFilter)
通过下面的方式在tomcat下能取到正常的值,但resin下得到的值是乱码 String name = new String(request.getParameter("name").getBytes("ISO-8859-1"),"UTF-8"); 不改代码解决方法: 在tomcat配置文件server.xml中Connector元素下设置 URIEncoding="UTF-8" 或者 useBodyEncodingForURI="true" 注1:是URIEncoding而不是URLEncoding 注2:eclipse-jee-galileo-SR2-win32(3.5)版本下的tomcat插件,修改配置后必须重启eclipse才能起作用,我在这里纠结了很久 参考:tomcat wiki faq Character Encoding Issues Apache Tomcat Configuration Reference - The HTTP Connector 注:这里提到的Tomcat配置文件设置和jquery 的serialize没有关系,原来写的好像有点文不对题! jquery serialize的问题可以参考:jquery serialize()方法自动编码后,后台使用前解码处理编辑 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2010-11-09
能不能发表一点有新意的东西哦??
|
|
返回顶楼 | |
发表时间:2011-08-05
Hello,friend~
maybe I am encoutering a similar question, but not between tomcat and resin, they are about IE8 and FF5. 我用jquery的ajax方法用post向jsp传表单数据,表单中的数据通过serialize()得到,通过alert可以看到格式都是%xy%这种格式的,在IE8和FF5中,%xy%是一样的。 但是在tomcat中,通过FF传过来的数据可以直接request.get...得到正常的中文,但是通过IE传过来的只能用你上面的先ISO再utf转换成正常中文,我也在tomcat的conf.xml中加入URIEncoding这个参数,但结果还是那样。 我不知道你有没有遇到这样的问题?或者有什么好方法教教我~~~ thanks in advance~~ |
|
返回顶楼 | |
发表时间:2011-08-06
最后修改:2011-08-06
jquery serialize()会自动进行UTF-8编码!
你看看jquery serialize()方法自动编码后,后台使用前解码处理,是否对你有帮组 |
|
返回顶楼 | |