项目中遇到的URL汉字参数转码的问题
来源:互联网 发布:ai技术 编程语言 编辑:程序博客网 时间:2024/06/06 05:51
在项目中遇到这样一个问题,url中用中文传递参数,用户是用ajax提交数据的。
以下是用JS获取url的参数,以及相关信息
function GetRequest() { var url = location.search; var theRequest = new Object(); if (url.indexOf("?") != -1) { var str = url.substr(1); strs = str.split("&"); for(var i = 0; i < strs.length; i ++) { theRequest[strs[i].split("=")[0]]=unescape(strs[i].split("=")[1]); } } return theRequest;}var utm_term = typeof(Request['utm_term']) == 'undefined' ? '' : '&utm_term='+escape(Request['utm_term']);if (utm_term != ''){var url = document.referrer;var tempurl = '';var theRequest = new Object();if (url.indexOf("?") != -1) {var str = url.substr(1);strs = str.split("&");for (var i = 0; i < strs.length; i++) {theRequest[strs[i].split("=")[0]] = unescape(strs[i].split("=")[1]);}if (typeof(theRequest['word']) != 'undefined'){tempurl = theRequest['word'].split('/')[2];}else if (typeof(theRequest['ltu']) != 'undefined'){tempurl = theRequest['ltu'].split('/')[2];}else if (typeof(theRequest['u']) != 'undefined'){tempurl = theRequest['u'].split('/')[2];}else{tempurl = url.split('/')[2];}}else {tempurl = url.split('/')[2];}utm_term = utm_term + '[' + tempurl + ']';}
提交信息
$.ajax({type: 'post',data: utm_term,dataType: 'json',error: function () {},success: function (data) {},url: '/regist'});
在IE下参数 月 被转为 %u6708
接受到参数后,在php中做了处理,方法如下:
$str = '%u6708';$arr = explode('%u', $str);$len = count($arr);for ($i=1;$i<$len;$i++){if (strlen ($arr[$i]) >= 4){$temp_str = substr ($arr[$i], 0, 4);$search_str = '%u'.substr ($arr[$i], 0, 4);$replace_str = '&#'.hexdec ($temp_str).';';$replace_str = mb_convert_encoding ($replace_str, 'UTF-8', 'HTML-ENTITIES');$str = str_replace ($str, $replace_str, $return_str);}}return $str;
0 0
- 项目中遇到的URL汉字参数转码的问题
- servlet和action中获取URL中的汉字(解决URL中汉字为乱码的问题)
- servlet和action中获取URL中的汉字(解决URL中汉字为乱码的问题)
- Flex Url地址里的汉字转码问题
- Myeclips Ireport 中遇到的问题-中文字重叠 url 过长 参数传值乱码
- url中参数中传递"?"的问题
- 项目中遇到的问题
- 项目中遇到的问题
- 项目中遇到的问题
- 项目中遇到的问题
- 项目中遇到的问题
- 项目中遇到的问题
- 项目中遇到的问题
- 项目中遇到的问题
- 项目中遇到的问题
- 项目中遇到的问题
- 项目中遇到的问题
- 项目中遇到的问题
- TreeMap简单simple
- Centos 6.4 x86_64 安装QQ
- 性能测试命令字段解释
- hdu 5009 离散化
- OllyDbg破解系列学习笔记(一)
- 项目中遇到的URL汉字参数转码的问题
- 产品经理考虑的三个方向:产品设计、产品运营、用户交互
- 小白学c++之TCP readline的实现和函数封装
- Android笔记 采用httpclient提交数据到服务器demo
- 课程学习小结
- 进程间通信
- 获取自己公网下的ip地址
- hdu 5007
- Oracle Connect By用法