Ошибка json_encode для русских символов

У меня проблемы с выводом json_encode. Мне нужно выводить русские символы.

В моей базе данных таблицы только русские символы. В выходной я получаю только "????????" вопросительные знаки заменены русскими буквами. Я прочитал много похожих вопросов, но ни один из них не предложил реального решения. Я попробовал следующее, но никто из них не помог.

Ниже мой PHP-код.

  1. добавлен « header (‘Content-type: application / json; charset = utf-8’); `
  2. используемый json_encode($albums, JSON_UNESCAPED_UNICODE);
  3. пытался mb_convert_encoding($str, 'UTF-8', 'auto');
    json_encode ($ album, JSON_UNESCAPED_UNICODE);
<?php
$host ="localhost";
$user ="misollar_user";
$pass="12345";
$db="misollar_db";
header ('Content-type: application/json; charset=utf-8');
$con = mysqli_connect($host,$user,$pass,$db);
$query = "select * from albums;";
$result = mysqli_query($con, $query);
$albums = array();
while ($row = mysqli_fetch_array($result)){
array_push($albums,array('id'=>$row[0], 'name'=>$row[1], 'songs_count'=>$row[2]));
}
mysqli_close($con);
echo json_encode($albums, JSON_UNESCAPED_UNICODE);
?>

0

Решение

Вам нужно установить UTF8 до получения результатов из MySQL.

Непосредственно перед получением результатов из albums таблица, огонь ниже запроса:

mysqli_query($con, 'SET names UTF8');

После этого вы можете получить результаты вашего альбома:

$query = "select * from albums;";
$result = mysqli_query($con, $query);
0

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

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector