У меня проблемы с выводом json_encode. Мне нужно выводить русские символы.
В моей базе данных таблицы только русские символы. В выходной я получаю только "????????"
вопросительные знаки заменены русскими буквами. Я прочитал много похожих вопросов, но ни один из них не предложил реального решения. Я попробовал следующее, но никто из них не помог.
Ниже мой PHP-код.
json_encode($albums, JSON_UNESCAPED_UNICODE);
mb_convert_encoding($str, 'UTF-8', 'auto');
<?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);
?>
Вам нужно установить UTF8
до получения результатов из MySQL.
Непосредственно перед получением результатов из albums
таблица, огонь ниже запроса:
mysqli_query($con, 'SET names UTF8');
После этого вы можете получить результаты вашего альбома:
$query = "select * from albums;";
$result = mysqli_query($con, $query);
Других решений пока нет …