0

我正在为我的应用程序使用 json 输出,并将所有数据以我的母语存储在mysql服务器中utf8_general_ci

当我使用 json_encode 获取它时,我得到了 json 数组,但其中不支持数据格式。我该如何解决。

我用来创建 json 数据的代码。

<?php 
 header('Content-type: text/html; charset=utf-8; pageEncoding="ISO-8859-1"');
    include('include/config.php');

    mysql_query("SET NAMES 'utf-8' 'ISO-8859-1'");


    //mysql_query("SET CHARACTER SET utf8 ISO-8859-1");

    $sth = mysql_query("select v.verse,b.book_name,v.chapter,v.verse_number from tbl_verses_mal v  inner join tbl_books_mal b on v.book_id=b.book_id");
$rows = array();
while($r = mysql_fetch_assoc($sth)) {
    $rows[] = $r;
}
print json_encode($rows);

?>

我得到的输出就像

[{"verse":"???????? ?????? ???????? ?????? ??? ????????? . ?? ????????? ??? ??????? ????????????????? .","book_name":"Genesis","chapter":"1","verse_number":"1"},{"verse":"???? ??????? ?????????? ??????? : ???????????? ???? ????????????? .????????????? ??????? ??????","book_name":"Genesis","chapter":"1","verse_number":"2"},{"verse":"???????? ?????????? ????? ???? ?????????: ???????? ??????? ","book_name":"Genesis","chapter":"1","verse_number":"3"}]

?????标记表示数据库中的语言。预期结果如下所示

[{"verse":"അയൽകാരന്  ആവശ്യം വരുമ്പോൾ നിങ്ങൾ  കടം കൊടുക്കു. .","book_name":"Genesis","chapter":"1","verse_number":"1"},{"verse":"ഭൂമി  പാഴായും ശൂന്യമായും  ഇരുന്നു : ആഴത്തിന്മീതെ","book_name":"Genesis","chapter":"1","verse_number":"2"},]

我该如何解决这个问题?

4

2 回答 2

1
mysql_query("SET NAMES 'utf-8' 'ISO-8859-1'");

这是没有意义的。正确设置字符集:

mysql_set_charset('utf8');
于 2013-06-25T05:41:33.760 回答
0

你需要正确设置字符集试试

mysql_set_charset('utf8');

mysql_*功能被弃用PDOMysqli取而代之

于 2013-06-25T05:56:09.167 回答