mysql查询中的阿拉伯语值被数据库忽略

时间:2014-05-30 13:12:05

标签: php mysql utf-8

我正在尝试向mysql发送查询以将一些值插入表中,这不是我第一次做这些事情,这就是让我变得疯狂的原因! 当我打印查询时,它看起来像这样:

  

INSERT INTO hc_family_receive_relief   (hc_family_id,hc_received_kind,hc_received_date,hc_received_month,hc_received_year)   价值观('89',' '','30','5','2014')

这是我第一次面对这个问题,原因是什么? 我甚至尝试将PHP file保存为UTF-8 , UTF-8 with out BOM,阿拉伯字符仍未插入表中!

以下是我用来从$ _POST数组创建查询的函数:

function add_family_recieve_relief($array)
{
if(empty($array))
   return NULL;
$i = 0;
$titles = array();
$values = array();
$query = "INSERT INTO hc_family_receive_relief ";
foreach($array as $key => $value)
{
if($i == 0)
{
$titles[count($titles)] = "($key,";
$values[count($values)] = "('".$value."',";
}
if($i < count($array) - 1 && $i > 0)
{
$titles[count($titles)] = "$key,";
$values[count($values)] = "'".$value."',";
}
if($i == count($array) - 1)
{
$titles[count($titles)] = $key.") VALUES ";
$values[count($values)] = "'".$value."')";
}
$i++;
}

foreach($titles as $tvalue)
$query .= $tvalue;

foreach($values as $vvalue)
$query .= $vvalue;
echo $query;
$qresult = mysql_query($query);

if(!$qresult)
    return False;
else return True;
}

这是重新发送$ _POST并将其传递给函数add_family_recieve_relief的页面:

<?
require_once('../db.php');
require_once('familyReliefAPI.php');
if($_POST['addfamilyrelief'])
{
  if(empty($_POST['hc_family_id']) || !is_numeric($_POST['hc_family_id']))
      die('<center><h4><font color="red">خطأ في المعالجة , الرقم المميز للعائلة غير موجود !</font></h4></center>');
         $family_id = $_POST['hc_family_id'];
         array_pop($_POST);
  $addfrr = add_family_recieve_relief($_POST);
  if(!$addfrr)
       die('<center><h4><font color="red">مشكلة في الاضافة , الرجاء التأكد من المعلومات أو الاتصال</font></h4></center>');
    else {
         //print_r($_POST);
         }
}
?>

我也在连接页面中进行SET NAMES utf-8查询以修复角色问题,但仍然无法正常工作.. 请帮帮我..谢谢

注意: 查询变为true并在表格中插入所有值,除了将其留空的阿拉伯字段!

1 个答案:

答案 0 :(得分:0)

检查数据库中存在的表的字符集