Я использую базу данных MYSQL, где я храню данные в сопоставлении: utf16le_general_ci.Я сделал это для поддержки моего регионального языка в базе данных, и я могу успешно хранить данные на своем региональном языке (GUJARATI).
Но когда я использую PHP (версия 7+), чтобы прочитать данные и вывести их на экранв формате JSON я получаю такой результат:
[
{
"content_id":"1",
"cat_id_FK":"1",
"content_data":"??????????? ? ????? ??????? ??."
},
{
"content_id":"2",
"cat_id_FK":"1",
"content_data":"???? ?? ??? ?? 80% ????? ???? ??? ? ??? ??, ???? ??? ?????? ?? ??????,?????????? ??? ?????\r\n??????? ?? ??? ??????? ???? ??? ??? ??."
},
{
"content_id":"3",
"cat_id_FK":"1",
"content_data":"?????????? ??????? ????????? ???? ???? ???? ? ???????????."
},
{
"content_id":"4",
"cat_id_FK":"1",
"content_data":"??????????? ??? ???? ?????? ?????? ???? ???? ????? ?? ???????? ?? ??? ??."
},
{
"content_id":"5",
"cat_id_FK":"1",
"content_data":"??? ????? ????? ???????? ?? ????? ????? ??? ??????? ? ??????????? ?? ????? ???? ????."
},
{
"content_id":"6",
"cat_id_FK":"1",
"content_data":"??????????? ???? ?? ??? ??? ??? ? ????? ???."
}
]
Мой код: -
header('Content-Type:application/json;charset=utf-8');
//header('Content-Type:application/json;charset=utf16le_general_ci');
include 'init.php';
global $connect;
$query = "SELECT * FROM gsrahasyacontent WHERE cat_id_FK=1";
$queryResult = mysqli_query($connect, $query);
while ($row = mysqli_fetch_assoc($queryResult)) {
$array[] = $row;
}
echo json_encode($array, JSON_UNESCAPED_UNICODE);
//print json_encode($array, JSON_UNESCAPED_UNICODE);
-> Я попытался изменить кодировку на utf16le_general_ci из utf-8, но это не такt сработало.
-> Я также использовал print вместо json, но все равно получил тот же результат.
Так выглядит моя таблица.