Не могу добавить арабские буквы в PHP и MySQL в одну таблицу моей базы данных

У меня есть эта HTML-форма, которая отправляет данные в файл php:

 <table class="table table-striped" align="center" dir="rtl" style="width:auto" border="1">
<thead align="center">
<tr>
<th colspan="11" style="text-align:center">المبيعات في: <?php echo $date_select ?></th>
</tr>
<tr>
<th align="center">الاسم</th>
<th align="center" style="text-align:center">النوع</th>
<th align="center" style="text-align:center">الماركة</th>
<th align="center" style="text-align:center">السعر</th>
<th align="center" style="text-align:center">الدفعة</th>
<th align="center" style="text-align:center">رقم الفاتورة</th>
<th align="center" style="text-align:center">الكمية</th>
<th align="center" style="text-align:center">تقسيط</th>
<th align="center" style="text-align:center">كفالة</th>
<th align="center" style="text-align:center">التاريخ</th>
<th align="center" style="text-align:center">الوقت</th>
</tr>
</thead>

<?php $sum = 0; foreach($result as $row){ $sum = $sum + $row['first_pay']; ?>
<tbody>

<tr>
<td align="center" id="client_name"><?php echo $row['client_name'] ?></td>
<td align="center" id="st"><?php echo $row['sale_type'] ?></td>
<td align="center" id="sd"><?php echo $row['sale_detail'] ?></td>
<td align="center" id="pr" name="pr"><?php echo $row['price'] ?></td>
<td align="center"></td>
<td align="center"><?php echo $row['facture_number'] ?></td>
<td align="center"><?php echo $row['quantity'] ?></td>
<td align="center" id="installment"><?php if($row['installment']=="yes"){ echo "نعم";} else { echo "لا";} ?></td>
<td align="center"><?php if($row['warranty']=="yes"){ echo "نعم";} else { echo "لا";} ?></td>
<td align="center" id="date_now"><?php echo $row['date_now'] ?></td>
<td align="center" id="time_now"><?php echo $row['time_now'] ?></td>
<td align="center"><form action='delete_with_debts.php' method="post">
<input type="hidden" name="rowid" value="<?php echo $row['id'] ?>" />
<input type="hidden" name="rowname" value="<?php echo $row['client_name'] ?>" />
<input type="hidden" name="rowinstall" value="<?php echo $row['installment'] ?>" />
<input type="hidden" name="rowdate" value="<?php echo $row['date_now'] ?>" />
<input type="hidden" name="rowtime" value="<?php echo $row['time_now'] ?>" />
<input type="hidden" name="sd" value="<?php echo $row['sale_detail'] ?>" />
<input type="hidden" name="st" value="<?php echo $row['sale_type'] ?>" />
<input type="hidden" name="qu" value="<?php echo $row['quantity'] ?>" />
<input type="hidden" name="pr" value="<?php echo $row['price'] ?>" />
<div id="printOption"><button type="submit" class="btn btn-danger btn-block btn-sm" id="delete_row" name="delete_row" onClick="return confirm('هل أنت متأكد؟ يرجى تعديل صفحة المشتريات بعد الغاء أحد المبيعات')">
<span class="glyphicon glyphicon-repeat"></span> مرتجع
</button></div>
</form></td>
</tr>

А вот и файл php:

<?php
require_once('../include/global.php');
If(isset($_POST['delete_row']))
{
try
{
$id = $_POST['rowid'];
$install = $_POST['rowinstall'];
$date_now = $_POST['rowdate'];
$time_now = $_POST['rowtime'];
$client_name = $_POST['rowname'];
$sd = $_POST['sd'];
$st = $_POST['st'];
$qu = $_POST['qu'];
$pr = $_POST['pr'];
if($install == "yes")
{
$sql = "SELECT * FROM client_debts WHERE date_now = :dtn AND time_now = :tmn";
$sqlStmt = $conn->prepare($sql);
$sqlStmt->bindValue(":dtn", $date_now);
$sqlStmt->bindValue(":tmn", $time_now);
$execute2 = $sqlStmt->execute();
$fetchAll = $sqlStmt->fetchAll();
foreach($fetchAll as $row)
{
$selectRow = "SELECT sum(payment) AS 'payment' FROM client_details WHERE client_id = :cid GROUP BY client_id";
$selectRowStmt = $conn->prepare($selectRow);
$selectRowStmt->bindValue(":cid", $row['id']);
$execute3 = $selectRowStmt->execute();
$res = $selectRowStmt->fetchColumn();
}

$sql2 = "DELETE FROM client_debts WHERE client_name = :client_name AND date_now = :date_now AND time_now = :time_now";
$stmt2 = $conn->prepare($sql2);
$stmt2->bindValue(':client_name', $client_name);
$stmt2->bindValue(':date_now', $date_now);
$stmt2->bindValue(':time_now', $time_now);
$exec2 = $stmt2->execute();

$rft = "From Customer";

$ins = "INSERT INTO refund(item_name, refund_type, date_now, price)
VALUES(:item_name, :refund_type, :date_now, :price)";
$insStmt = $conn->prepare($ins);
$insStmt->bindValue(':item_name', $sd);
$insStmt->bindValue(':refund_type', $rft);
$insStmt->bindValue(':date_now', $date_now);
$insStmt->bindValue(':price', $pr);
$exec = $insStmt->execute();

header("Location: purchases.php?type=".$st."&details=".$sd."&quantity=".$qu."&price=".$pr);
}
if($install == "no")
{
$rft = "From Customer";

$ins = "INSERT INTO refund(item_name, refund_type, date_now, price)
VALUES(:item_name, :refund_type, :date_now, :price)";
$insStmt = $conn->prepare($ins);
$insStmt->bindValue(':item_name', $sd);
$insStmt->bindValue(':refund_type', $rft);
$insStmt->bindValue(':date_now', $date_now);
$insStmt->bindValue(':price', $pr);
$exec = $insStmt->execute();

header("Location: purchases.php?type=".$st."&details=".$sd."&quantity=".$qu."&price=".$pr);
}

}
catch(PDOException $e)
{
echo $e->getMessage();
}
}
?>

В верхней части моей HTML-страницы у меня есть эта строка:

    <head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta HTTP-EQUIV="Pragma" content="no-cache">
<meta HTTP-EQUIV="Expires" content="-1">

Моя база данных настроена на utf8mb4 потому что мне нужно работать с арабскими буквами и когда я нажимаю на delete_row Мне нужно вставить строку, удаленную в другую таблицу (для целей бухгалтерского учета).

Добавленная строка в таблице выглядит следующим образом ????? ??:

введите описание изображения здесь

Я не могу понять, почему.

1

Решение

Для базы данных попробуйте использовать utf8_general_ci вместо utf8mb4.

2

Другие решения

+ Изменить table_name и запустите ниже запрос в вашей базе данных по phpmyadmin.

ALTER TABLE `table_name` CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;
1

По вопросам рекламы [email protected]