0
영어로는 제대로 작동하지만 아랍어에서는 작동하지 않습니다. 나는 "فف"로 쿼리를 인쇄 $title
, 나는 이런 식으로 이상한 문자를 발견 컨트롤러 : 여기 Codeigniter에서 JQuery 자동 완성 인코딩
SELECT * FROM users WHERE agent_id = 1 AND type LIKE "owner" AND (firstName LIKE "%\%D9\%81\%D9\%81%" OR lastName LIKE "%\%D9\%81\%D9\%81%")
내 코드입니다
public function getResultExtend($title) {
$user_id = $this->session->userdata('id');
$result = $this->user->getOwners($user_id, $title);
foreach ($result as $user) {
$user->userName = utf8_encode(stripslashes($user->userName));
}
echo json_encode($result);
}
보기 :
$(document).ready(function(){
$('#search').keypress(function(e){
if(e.which == 13)
{
e.preventDefault();
}
var searched = $('#search').val();
var fullurl = $('#hiddenurl').val() + 'index.php/agent/getResultExtend/' + searched;
$.getJSON(fullurl,function(result){
var elements = [];
$.each(result,function(i,val){
elements.push({ value: this.ID, label: this.firstName+' '+this.lastName});
});
$('#search').autocomplete({
source : elements,
select: function (event, ui) {
console.log(ui.item);
},
focus: function(event, ui) {
$("#search").val(ui.item.label);
return false;
},
select: function(event, ui) {
$("#search").val(ui.item.label);
$("#owner_id").val(ui.item.value);
return false;
}
});
});
});
});
모델 :
function getOwners($user_id, $title) {
header('Content-Type:text/html; charset=UTF-8');
//$title = iconv(mb_detect_encoding($title, mb_detect_order(), true), "UTF-8", $title);
$q = $this->db->query('SET NAMES utf8');
$query = $this->db->query('SELECT * FROM users
WHERE agent_id = ' . $user_id . ' AND type LIKE "owner"
AND (firstName LIKE "%'.$this->db->escape_like_str($title).'%"
OR lastName LIKE "%'.$this->db->escape_like_str($title).'%")
');
return $query->result();
}
테이블의 데이터 정렬은 utf8_unicode_ci
이고 열은 utf-8입니다. 그래서 문제가 어디에 있습니까?/설정/database.php 응용 프로그램에서
PHPMyAdmin에서 쿼리를 시도한 후 제대로 작동하는 것으로 나타났습니다. – Yasmeen