主页 > 知识库 > ajax提交到servelt获取参数有乱码的解决方法

ajax提交到servelt获取参数有乱码的解决方法

热门标签:襄阳外呼系统接口 科智联智能电销机器人 上海浦东百度地图标注中心注册 青海医疗智能外呼系统怎么样 百灵鸟 徐州电销卡外呼系统供应商 外呼系统获取客户手机号 目标三维地图标注 老虎邮局地图标注点
在这里,假设读者了解基本的

ajax

技术或更多。我仅仅阐述一个现象,一个解决方法;原因、

原理,同样不清楚

……

我们先从简单的着手,

servlet传值到JSP页面js

脚本中,利用脚本将相关值显示在页面。解决这个方向(servlet——javascript)的中文乱码问题很简单。只需要在

servlet中,添加一个

编码设置:
复制代码 代码如下:

response.setContentType("text/html;charset=UTF-8");

而且JSP页面编码方式可以随意设定,GBK、GB2312、UTF-8,当然

ISO-8859-1是不行的,至少你要在页面显示中文。

从js脚本传中文到servlet,问题因xmlHttp对象open()方法中,传值方式(GET、POST)不同,而分为两种情况:

在介绍这个问题之前,先将两种传值方式区别展示一下:

假设传递值“软件工程”,变量名为“selcol”。

1、GET方法:
复制代码 代码如下:

function selectCol(){

createXMLHttpRequest();

var selcol = "

软件工程
复制代码 代码如下:

";

var url = "/emp/FindSpecial?selcol=" + selcol;

xmlHttp.onreadystatechange = handleStateChange;

xmlHttp.open("GET",url,true);

xmlHttp.send(null);

}

2、POST方法:
复制代码 代码如下:

function selectCol(){

createXMLHttpRequest();

var selcol = "selcol=软件工程";

var url = "/emp/FindSpecial";

xmlHttp.onreadystatechange = handleStateChange;

xmlHttp.open("POST",url,true);

xmlHttpxmlHttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");

xmlHttp.send(selcol);

}

如果使用GET方式传递,那么我们在servlet拿值的时候,以如下方式转编码:
复制代码 代码如下:

String selcol = new String(request.getParameter("selcol").getBytes("ISO-8859-1"), "GBK");

转GBK、GB2312都行,转UTF-8不行!

这个时候也许你会很奇怪的发现,这两个语句竟然同时出现:
复制代码 代码如下:

response.setContentType("text/html;charset=UTF-8");
String selcol = new String(request.getParameter("selcol").getBytes("ISO-8859-1"), "GBK");


个人是这样理解的:第一句仅保证,从此servlet传递出去的数据编码方式为UTF-8;

而后者则是将传递进来的数据转化成GBK编码的数据。方便与辨别和处理。

如果使用POST方式传递,那么我们在servlet拿值的时候,同上,只是将编码转为UTF-8,

而这个时候,GBK和GB2312不行!
复制代码 代码如下:

String selcol = new String(request.getParameter("selcol").getBytes ("ISO-8859-1"), "UTF-8");
您可能感兴趣的文章:
  • java操作oracle数据库示例
  • java调用oracle分页存储过程示例
  • java读写oracle的blob字段示例
  • JAVA简单链接Oracle数据库 注册和登陆功能的实现代码
  • Java使用JDBC连接Oracle_MSSQL实例代码
  • java使用jdbc链接Oracle示例类分享
  • JSP连接MySql/MS SQL Server/Oracle数据库连接方法[整理]
  • 在JSP中访问Oracle数据库
  • Java实现JSP在Servelt中连接Oracle数据库的方法

标签:咸宁 股票 揭阳 佛山 辛集 商洛 荆州 红河

巨人网络通讯声明:本文标题《ajax提交到servelt获取参数有乱码的解决方法》,本文关键词  ajax,提,交到,servelt,获取,;如发现本文内容存在版权问题,烦请提供相关信息告之我们,我们将及时沟通与处理。本站内容系统采集于网络,涉及言论、版权与本站无关。
  • 相关文章
  • 下面列出与本文章《ajax提交到servelt获取参数有乱码的解决方法》相关的同类信息!
  • 本页收集关于ajax提交到servelt获取参数有乱码的解决方法的相关信息资讯供网民参考!
  • 推荐文章