binboy
پنج شنبه 28 مهر 1390, 23:13 عصر
سلام، یکسری از اطلاعات آرایه را توسط json_encode در یک سطر(ستون) دیتابیس درج کردم، حالا قصد دارم با query زیر select اطلاعات را با یک HAVING انجام بدم، متاسفانه این HAVING در این query برای عبارت فارسی کار نمی کنه :
برای مثال سطر row_s در دیتابیس همچین است:
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"]
اینم کد php من، که خروجیش "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';
}
جالب انگیزش اینجاست که، این HAVING زیر درست کار میکنه برای عدد یا حروف لاتین، برای مثال کد زیر خروجی دارد و $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';
}
فایل php و Collation چارترشون "utf-8" و "utf8_general_ci" است. چجوری این مشکل را حل کنم؟
برای مثال سطر row_s در دیتابیس همچین است:
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"]
اینم کد php من، که خروجیش "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';
}
جالب انگیزش اینجاست که، این HAVING زیر درست کار میکنه برای عدد یا حروف لاتین، برای مثال کد زیر خروجی دارد و $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';
}
فایل php و Collation چارترشون "utf-8" و "utf8_general_ci" است. چجوری این مشکل را حل کنم؟