我对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);
?>
发布于 2016-11-24 23:40:33
在从mysql检索结果之前,需要设置UTF8
。
在从albums
表检索结果之前,在查询下面触发:
mysqli_query($con, 'SET names UTF8');
在此之后,您可以获取您的专辑结果:
$query = "select * from albums;";
$result = mysqli_query($con, $query);
https://stackoverflow.com/questions/40799566
复制相似问题