IE浏览器与FF浏览器关于Ajax传递参数值为中文时的区别实例分析

 更新时间:2015年12月15日 10:48:44   作者:LiMXHS  
这篇文章主要介绍了IE浏览器与FF浏览器关于Ajax传递参数值为中文时的区别,结合实例分析说明了ajax参数传递过程中的参数转码相关注意事项与使用技巧,需要的朋友可以参考下

本文实例讲述了IE浏览器与FF浏览器关于Ajax传递参数值为中文时的区别。分享给大家供大家参考,具体如下:

前面介绍了《Javascript基于AJAX回调函数传递参数》,这里主要来分析一下ajax传递中文参数过程中针对不同浏览器的乱码处理方法。

Ajax传递参数为中文时出现乱码,我遇到的情况是:

1.我的数据库连接 编码为 GB2312,latin1_swedish_ci

2.php 文件编码格式为 UTF-8,浏览器显示编码为 : UTF-8

3.我的页面显示方式为两种:

一)页面加载时自动加载,每隔一秒刷新一次

二)点击一个分机组名称时,获得该分机组的相应的成员卡片信息

4.对于第一种情况的处理:

control.php页面上获得session:

读取数据库的内容:

line 53:

复制代码 代码如下:
$grouparr[] = iconv("GB2312","UTF-8",$g[0]); //数据库内容转换为 UTF-8,这样能正常显示页面上的中文

line106:

复制代码 代码如下:
$_SESSION['dispatchgroup'] = iconv("UTF-8","GB2312",$grouparr[0]);//将转换的中文修改为 GB2312,用于在 dispatchinfo.php 文件中获得查询的条件值,获得GB2312编码的值。

dispatchinfo.php: line 291

if($_SESSION['dispatchgroup']){
  $groupaddressinfo = function_listaddressesbygroup($_SESSION['dispatchgroup'],1,$value,0,$_SESSION['dispatchexten'],$_SESSION['dispatchgrouppage']);  
  //2013-5-17$groupaddressinfo = "listaddressesbygrouptype|0|LocalExt|1|12|1,,,801,空闲,,|1,,,802,不在线,,|1,,,803,空闲,,|1,,,804,不在线,,|,,,805,不在线,,|,,,806,不在线,,|,,,807,不在线,,|,,,808,不在线,,|,,,809,不在线,,|,,,810,不在线,,|5,餐厅,,811,10.1.6.189;连接|6,,,812,user2;断开|";
}

此种情况IE和FF,均能正常显示。

5.对于第二种情况:

点击“分机组”名称,获得点击的分机组的中文名称,通过Ajax 传递到 dispatchinfo2.php 文件中进行处理,修改前,js点击事件后获得的中文名称,alert均为正常值【格式为UTF-8】,此时数据库中的内容为GB2312,这时,在经过 iconv转码就会出现错误。

因为只对于第一种情况,我在处理时采用转换编码的方式

复制代码 代码如下:
$groupname = iconv("GB2312","UTF-8",$groupname);

此时再次编码就会出现错误了,

解决方法:

JS 的异步提交处理:

checkval(); 
var ajax = InitAjax();
var url = "dispatchinfo2.php?"+arges;
//2013-08-21 limx 中文编码问题
url = encodeURI(encodeURI(url));
ajax.open('GET',url,true);

dispatchinfo2.php

$groupname = urldecode($groupname);
$groupname = iconv("utf-8","GB2312",$groupname);

四行代码完美解决中文编码的问题。

因为AJAX发送数据都是采用UTF-8编码的方式发送的,所以要在服务器 端进行编码转换(我这里页面是采用GB2312编码的,如果是采用UTF-8的话应该不会有这步的问题),所以我在服务器端进行了UTF-8转 GB2312

希望本文所述对大家ajax程序设计有所帮助。

相关文章

  • Ajax标签导航效果(仿网易首页)

    Ajax标签导航效果(仿网易首页)

    Ajax标签导航效果(仿网易首页)...
    2006-10-10
  • 深入浅析Jsonp解决ajax跨域问题

    深入浅析Jsonp解决ajax跨域问题

    这篇文章主要介绍了深入浅析Jsonp解决ajax跨域问题的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2016-05-05
  • Ajax风格的一款网页Loading效果

    Ajax风格的一款网页Loading效果

    本篇文章主要是对Ajax风格的一款网页Loading效果的实例代码进行了介绍,需要的朋友可以过来参考下,希望对大家有所帮助
    2014-02-02
  • ajax实现简单实时验证功能

    ajax实现简单实时验证功能

    这篇文章主要介绍了ajax实现简单实时验证功能,需要的朋友可以参考下
    2017-12-12
  • kkpager 实现ajax分页查询功能

    kkpager 实现ajax分页查询功能

    kkpager 实现ajax分页查询功能,前台分页数据,适合数据少量的时候,因为分页的数据是从后台获取的,大数据的话不建议使用 ,具体前后台代码大家参考下本文吧
    2017-08-08
  • Boa服务器下的ajax与cgi通信

    Boa服务器下的ajax与cgi通信

    最近小编在研究嵌入式开发的课程设计,接下来通过本篇文章给介绍了Boa服务器下的ajax与cgi通信的相关资料,非常不错,具有参考借鉴价值,感兴趣的朋友一起看下吧
    2016-07-07
  • 浅谈Bootstrap的DatePicker日期范围选择

    浅谈Bootstrap的DatePicker日期范围选择

    下面小编就为大家带来一篇浅谈Bootstrap的DatePicker日期范围选择。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-10-10
  • Ajax实现城市二级联动(一)

    Ajax实现城市二级联动(一)

    这篇文章主要为大家详细介绍了Ajax实现城市二级联动的相关资料,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-02-02
  • jQuery+Ajax实现表格数据不同列标题排序(为表格注入活力)

    jQuery+Ajax实现表格数据不同列标题排序(为表格注入活力)

    CSS也使得表格的布局越来越光彩耀人。但是,无论如何,都掩饰不了那些包装下的死板,接下来为大家介绍下让那些死板的数据 更具有可读性、可用性
    2013-04-04
  • 关于ajax对象一些常用属性、事件和方法大小写比较常见的问题总结

    关于ajax对象一些常用属性、事件和方法大小写比较常见的问题总结

    最近比较空闲,于是抽个时间整理些关于ajax方法的东东。在项目中经常发现ajax板块好多问题都是属性,方法,事件大小写不区分问题,最终导致了程序运行出现麻烦,下面给大家介绍关于ajax对象一些常用属性、事件和方法大小写比较常见的问题总结
    2015-10-10

最新评论