HAVING or WHERE on json value for persian word?

I want done “HAVING” for value json that store values array in a row from database table with json_encode, this values is persian word but but not done “HAVING” for it, how is fix it?(collation is utf8_general_ci)(i use codeigniter)

row_s is as:

row_s id 1: [“All5”,“\u0648\u06cc\u0632\u0627 8”]
row_s id 2: [“All5”,“\u0648\u06cc\u0632\u0627 7”]
row_s id 3: [“All5”,“\u0648\u06cc\u0632\u0627 6”]

This is my php code: (output this is: There is not)

$val   = 'ویزا 8';
$query = $this->db->query('SELECT * FROM table HAVING row_s LIKE "%' . $val . '%"');
if ($query->num_rows() > 0) {
    foreach ($query->result() as $val) {
        echo $val->name . '<br>';
    }
} else {
    echo 'There is not';
}

Make sure that the file is UTF8

Can where value “$val” that is number or latin word with value json in database, but can not for persian word.

for example, following code have output, and is $query->num_rows()=3.

$val   = 'All5';
$query = $this->db->query('SELECT * FROM table HAVING row_s LIKE "%' . $val . '%"');
if ($query->num_rows() > 0) {
    foreach ($query->result() as $val) {
        echo $val->name . '<br>';
    }
} else {
    echo 'There is not';
}

Where is file?

The php file…

It is UTF8, not problem for it (i use ‘ویزا 8’ in same file). What is other proposed?