「已注销」 2013-09-01 18:48
浏览 167
已采纳

百思不得其解的问题,等技术高手。

今天做了一个小模块的时候发现了从前端浏览器用JQuery传值用($.post)来传中文,在页面也设置了浏览器的编码方式,但是到后台去获取值得时候却出现了乱码。

ie浏览器下用Jquery.post请求时乱码

火狐浏览器下用Jquery.post请求正常显示

在Jquery.js里面的编码方式charset=utf-8;也做了设置

在java后台也设置了编码方式,包括请求request,以及响应头Response均设置了编码格式

全部统一为UTF-8格式 包括tomcat的设置

利用encodeURI两次编码然后到java后台解码是没有问题的;

开发工具也做了编码的,全部统一为UTF-8格式

在javascript 中用window.open();的方式来请求是没有乱码的问题的,在超链接上也没有发现乱码问题。

配置:jdbc+struts2
浏览器是IE9 IE8 AND 火狐;用的jquery是1.9.1

我想问的问题是:
1.我想明白是不是IE浏览器的问题?
2.是不是和jquery有问题,我也换过1.5的版本,同样也是乱码,现在用的是1.9.1.min版的
3.在请求的时候,做过一次调试,发现出现了两个请求,一个是post,另外一个是get,我现在还在研究中。
4.谁有过类似的问题都来说一下。

补充一下内容:在IE9或者IE8下修改编码方式为GB2312的情况下传值到后台又不出现乱码了,
但是结合上面的问题总感觉矛盾,从页面为UTF-8为统一的编码方式到后台也是采用的UTF-8格式
为什么修改浏览器编码为GB2312才会不显示乱码,修改之后页面是乱码了,但是传值没有出现乱码。
而且感觉不符合逻辑。

  • 写回答

4条回答 默认 最新

  • iteye_6507 2013-09-01 21:37
    关注

    请改成如下方式:
    [code="js"]
    $.post('picturerolling_querybytitleone.action'
    ,{"titleval":${title}}
    ,function(date) {

      },"json"); 
    

    [/code]

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

悬赏问题

  • ¥15 DIFY API Endpoint 问题。
  • ¥20 sub地址DHCP问题
  • ¥15 delta降尺度计算的一些细节,有偿
  • ¥15 Arduino红外遥控代码有问题
  • ¥15 数值计算离散正交多项式
  • ¥30 数值计算均差系数编程
  • ¥15 redis-full-check比较 两个集群的数据出错
  • ¥15 Matlab编程问题
  • ¥15 训练的多模态特征融合模型准确度很低怎么办
  • ¥15 kylin启动报错log4j类冲突