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); }
<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>

解决方案 »

  1.   

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

  2.   

    接收的参数用urldecode解码试试
      

  3.   

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

  4.   

    解决了!
    用iconv 有时候失效了! 用以下代码:<?
    $a=urldecode("%E5%90%89%E6%9E%97");
    $a=mb_convert_encoding($a, 'GB2312', 'UTF-8'); 
    echo $a;
    ?>