我遇到了json_encode的输出问题。我需要输出俄文字符。
在我的数据库表中只有俄文字符。在输出中,我只得到"????????"
个问号替换俄语字符。我读了许多类似的问题,但没有一个提供真正的解决方案。我尝试了以下但没有一个帮助。
以下是我的PHP代码。
json_encode($albums, JSON_UNESCAPED_UNICODE);
mb_convert_encoding($str, 'UTF-8', 'auto');
json_encode($ albums,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 :(得分:0)
在从mysql检索结果之前,您需要设置UTF8
。
在您从albums
表中检索结果之前,请在查询下方触发:
mysqli_query($con, 'SET names UTF8');
在此之后,您可以获取相册结果:
$query = "select * from albums;";
$result = mysqli_query($con, $query);