博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
jsp中IE与FF(chrome)request参数编码不同
阅读量:6615 次
发布时间:2019-06-24

本文共 748 字,大约阅读时间需要 2 分钟。

时间:2015年7月29日09:10:45

jsp页面设置了编码<%@page contentType="text/html; charset=utf-8"%>

在Action方法里面获得request的Parmater参数。
使用IE的时候下面的代码能输出正确汉字
String param = (String) request.getParameter("param");
param = new String(param.getBytes("ISO8859-1"));

______________________________________________

使用火狐的时候,第二行必须改成

param = new String(param.getBytes("ISO8859-1"), "UTF-8");
才能输出正确汉字。

 

 

原因:使用 <form>...</form> 提交的,浏览器会自动编码一次.

ajax 或者Get方式提交的,需要自己手动编码。而encodeURIComponent 使用的是 UTF-8 编码规则来编的.

 

解决方案:

js里面用encodeURIComponent把传递的参数转了一下码(encodeURIComponent(param)),

然后在java类中再转一次码
String param = (String) request.getParameter("param");
param = new String(param.getBytes("ISO8859-1"), "UTF-8");
这样IE和火狐都能正常输出了。

(意思内容为搜索资料)

转载于:https://www.cnblogs.com/danchen/p/4684977.html

你可能感兴趣的文章
CentOS 7输入startx无法启动图形化界面
查看>>
#51CTO学院四周年# 终于在这里遇到你
查看>>
百度首次公布云业务收入,同比增长超100%,跻身国内第三
查看>>
Java学习笔记 1—命名规则、数据类型、运算符
查看>>
FusionCharts入门教程,使用指南
查看>>
我的友情链接
查看>>
数组的一些方法
查看>>
关于MFC中WM_MOUSEHOVER和WM_MOUSELEAVE消息的使用
查看>>
我的友情链接
查看>>
linux下查看nginx,apache,mysql,php的编译参数[转]
查看>>
Android掌中游斗地主游戏源码完整版
查看>>
LeetCode - 26. 删除排序数组中的重复项
查看>>
Linux LVM逻辑卷配置过程详解
查看>>
关于IT服务管理的服务台
查看>>
rundeck 修改密码 添加节点
查看>>
IT讲师韩顺平:创业不易,尚硅谷延续教育初心
查看>>
IntelliJ IDEA 插件 阿里巴巴Java开发手册
查看>>
利用nmap对Mongodb Redis未授权访问测试
查看>>
CakePHP
查看>>
我的友情链接
查看>>