网站地图    收藏   

主页 > 前端 > html教程 >

iframe下页面传参数为乱码问题探讨_HTML/Xhtml_网页

来源:自学PHP网    时间:2014-12-15 15:58 作者: 阅读:

[导读] 遇到了变态很不常见的参数乱码的问题,点击的时候传递带参数的网页地址,由于我传递的参数为汉字,在后台获取为乱码...

遇到了变态很不常见的参数乱码的问题,点击的时候传递带参数的网页地址,由于我传递的参数为汉字,在后台获取为乱码
遇到了变态很不常见的参数乱码的问题
首先看下页面

如图,月度指标下面也有同样的三个radio。
三个radio 下面是一个iframe,实现效果是,点击不同的radio显示不同的页面,
点击的时候传递带参数的网页地址。

(1)问题出来了,当“日度指标”和“月度指标”切换的时候,由于我传递的参数为汉字,在后台获取为乱码,
于是进行给参数进行encode编码,后台UrlDecode解码,郁闷的发现还是乱码。
然后仔细对照页面的编码发现,要在iframe打开的页面没有编码。
于是在页面加上下面一句话

复制代码
代码如下:

<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />

现在似乎好了,切换“日度指标”和“月度指标”网页都能正常显示,参数也传递过去了。

(2)可是变态的问题出现了,当我切换radio 的时候,报错了,参数又变成了乱码。
这次实在不知道哪里错了,“日度指标”、“月度指标”和radio点击切换页面的JS方法用的同一个。
郁闷中,自己乱点,发现如下:
当点击“煤层气”时页面正常,然后在点击“采油”参数错误了,我在采油已经为选中的情况下再点“采油”,页面竟然正常显示了
想象不应该这样啊
然后比对“煤层气”和“采油”,“采油”模块我已经挂上正式页面,“煤层气”模块由于还没有做只是随意挂上的百度页面。由于在问题(1)编码的问题,我首先想到的是编码问题,查看百度编码如下,

复制代码
代码如下:

<metahttp-equiv="content-type"content="text/html;charset=utf-8">

编码格式不一样。所以我把“煤层气”也挂上了“采油”的页面,去掉百度。
额,页面正常运行了,不报参数乱码了。

分析下原因:貌似传递参数时,获取的是当前iframe展示页面编码,而和要打开的页面编码没有关系。
但是,真的不应该这样啊,那是一个iframe,我在iframe的父页面给iframe赋值url、传递参数, 管 iframe现在的页面鸟事啊?

自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号-1@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

添加评论