Home > Backend Development > PHP Tutorial > ajax编码问题,在线等大侠帮忙!!!

ajax编码问题,在线等大侠帮忙!!!

WBOY
Release: 2016-06-23 14:22:39
Original
882 people have browsed it

	public function ajax_page(){		//header('Content-Type:text/html;charset=gbk');		error_reporting(E_ALL);		$page = $this->input->post('pg');		$where = $this->input->post('action');		$array = explode('_',$where);		$condition['group_id'] = $array[0];		$condition['status'] = $array[1];		$condition['username'] = @iconv( "UTF-8","GBK", $array[2]);echo $condition['username'];		$condition['display'] = 15;		$condition['page'] = ($page-1) * 15;		$num = $this->member_model->Selcount($condition);        $url = base_url()."/index.php/admin/member_list/";		$this->page->select = $where;        $this->page_model->page($num,"15",$page,$url);        $data['page'] = $this->page->pagenav;		$data['user'] = $this->member_model->Selmember($condition);        $this->load->language('admin/member');        $data['lang'] = $this->lang->line('HtmlLanguages');  	 	//print_r($data['user']);//exit;   		$this->load->view('admin/member_list_ajax', $data);	}
Copy after login



<script type="text/javascript"> $(function(){    $('#begin_date').datepicker({dateFormat: 'yy-mm-dd'});    $('#end_date').datepicker({dateFormat: 'yy-mm-dd'});});function checkdata(){	if((!$('#begin_date').val()&&$('#end_date').val())||($('#begin_date').val()&&!$('#end_date').val())){		alert('<?=$lang['date_error']?>');		return false;	}}function php300(page,where){	var ajax_url = "/admin/ajax_page/";    where = encodeURIComponent(where);	$.ajax({		type: "POST",		url: ajax_url,		data:{ 			action: where,			pg: page		},		success: function(msg){			//alert(msg);			$("#ajax").html(msg);		},//$("#pager").html(msg);		error:function(){ 			$("#ajax").html("请求失败"); 		}    });   }</script>
Copy after login


回复讨论(解决方案)

ajax提交的:where = encodeURIComponent(where);
然后php:  $condition['username'] = @iconv( "UTF-8","GBK", $array[2]);
在线等待,求解决!

接收的参数用urldecode解码试试

你的客户端用的是 jquery 吧?
jq 的 ajax 是不需要自己做 url 编码的
既然你已经有 where = encodeURIComponent(where); 了
那么就需要自己再做一次 url 解码
$condition['username'] = iconv( "UTF-8","GBK",  uredecode($array[2]));

解决了!
用iconv 有时候失效了! 用以下代码:


$a=urldecode("%E5%90%89%E6%9E%97");
$a=mb_convert_encoding($a, 'GB2312', 'UTF-8'); 
echo $a;
?>

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template