コントローラーに、文字列を取得し、この文字列を名前として持つレコードを (モデルを介して) データベースに照会する関数があります。これは英語では問題なく機能しますが、入力がヘブライ語の場合は問題があります。文字列をエコーすると、%D7%91 のようなものが表示され、クエリが失敗します。すべてのデータベース テーブル エントリは、utf8_general_ci として定義されます。
私のコントローラーコード:
function get_records_by_name($name)
{
echo 'searching for: '.$name.'</br>';
$keys = new DMkeys() ;
$query = $keys->get_keys();
$arr = array();
$count = 0;
foreach ($query->result() as $row)
{
if(stristr($row->name, $name) != FALSE)
{
$arr[] = $row->name;
$count++;
echo $row->name.'</br>';
}
}
$result = array('count' => $count, 'list' => $arr);
echo json_encode($result) ;
}
私のモデルコード:
function get_keys()
{
$query = $this->db->get('keys');
return $query;
}
ありがとう、サイモン