Ich arbeite an Live-Suche mit jQuery UI Autocomplete und CI 3.1.5. Es funktioniert gut mit MySQL, aber mit Firebird 1.5 habe ich ein leeres Array. Das Problem ist in meiner Like-Abfrage.Empty "LIKE" Abfrage mit nicht-lateinischen Buchstaben in Live Search mit Firebird und Codeigniter
Hier ist mein Code:
public function get_autocomplete($search_data)
{
$this->db1->select('NAME');
$this->db1->like('NAME', $search_data);
return $this->db1->get('CLIENTS', 10)->result();
}
Ich habe auch versucht dies:
public function get_autocomplete($search_data)
{
$query = $this->db1->query("select cl.name
from clients cl
where cl.name like '%$search_data%'");
return $query->result();
}
Das Ergebnis ist wieder ein leeres Array. Wenn ich LIKE nicht verwende, gibt meine Abfrage 10 Ergebnisse in Ordnung zurück. Was mache ich falsch?
Edit:
Firebird 1.5 arbeitet mit enthalten. Dieser Code funktioniert mit Englisch:
$query = $this->db1->query("select cl.name
from clients cl
where (cl.name containing '$search_data')");
ich gerade versucht, mit MySQL (mit wie Abfrage) Tabelle ist mit charset utf-8 und Sortierungs-utf8_general_ci und ich habe das gleiche Problem - Englisch funktioniert, Kyrillisch nicht. Ich habe gerade mit reinem PHP versucht und es funktioniert in Englisch und Kyrillisch. Also das Problem ist in Codeigniter Einstellungen?
Hier ist meine Datenbankkonfigurationen:
$active_group = 'default';
$query_builder = TRUE;
$db['default'] = array(
'dsn' => '',
'hostname' => '*****',
'username' => '****',
'password' => '',
'database' => 'bulvestprint_mysql',
'dbdriver' => 'mysqli',
'dbprefix' => '',
'pconnect' => FALSE,
'db_debug' => TRUE,
'cache_on' => FALSE,
'cachedir' => '',
'char_set' => 'utf8',
'dbcollat' => 'utf8_general_ci',
'swap_pre' => '',
'encrypt' => FALSE,
'compress' => FALSE,
'stricton' => FALSE,
'failover' => array(),
'save_queries' => TRUE
);
$db['firebird'] = array(
'dsn' => '',
'hostname' => 'LOCALHOST',
'username' => '******',
'password' => '******',
'database' => 'D:\Firebird_1_5\BULVEST_SPAS.GDB',
'dbdriver' => 'ibase',
'dbprefix' => '',
'pconnect' => FALSE,
'db_debug' => TRUE,
'cache_on' => FALSE,
'cachedir' => '',
'char_set' => 'WIN1251', //беше NONE
'dbcollat' => 'PXW_CYRL', //беше празно
'swap_pre' => '',
'encrypt' => FALSE,
'compress' => FALSE,
'stricton' => FALSE,
'failover' => array(),
'save_queries' => TRUE
);
Ich habe versucht, zu ändern char_set und Sortierungs auch $config['charset'] = 'UTF-8';
mit Windows-1251 und nichts geändert.
Vielen Dank für Ihre Zeit. Was mache ich falsch?
Kommentare sind nicht für längere Diskussion; Diese Konversation wurde [in den Chat verschoben] (http://chat.stackoverflow.com/rooms/149653/discussion-on-question-by-pa4o-empty-like-query-with-non-latin-letters-in- Leben). – meagar