「已注销」 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 抖音咸鱼付款链接转码支付宝
  • ¥15 ubuntu22.04上安装ursim-3.15.8.106339遇到的问题
  • ¥15 求螺旋焊缝的图像处理
  • ¥15 blast算法(相关搜索:数据库)
  • ¥15 请问有人会紧聚焦相关的matlab知识嘛?
  • ¥15 网络通信安全解决方案
  • ¥50 yalmip+Gurobi
  • ¥20 win10修改放大文本以及缩放与布局后蓝屏无法正常进入桌面
  • ¥15 itunes恢复数据最后一步发生错误
  • ¥15 关于#windows#的问题:2024年5月15日的win11更新后资源管理器没有地址栏了顶部的地址栏和文件搜索都消失了