0

我在控制器中有一个函数,它获取一个字符串,然后(通过模型)查询数据库以获取以该字符串作为名称的记录。这适用于英语,但是当输入是希伯来语时我遇到了问题。当我回显字符串时,我看到类似 %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;
}

谢谢,西蒙

4

1 回答 1

1

您需要在使用之前对变量进行解码,尝试:

$name = urldecode($name);
于 2013-09-08T09:56:40.283 回答