json输出本地语言?

时间:2013-06-25 05:34:27

标签: php mysql json

我正在为我的应用程序使用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"},]

我该如何解决这个问题?

2 个答案:

答案 0 :(得分:1)

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

这没有任何意义。正确设置字符集:

mysql_set_charset('utf8');

答案 1 :(得分:0)

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

mysql_set_charset('utf8');

mysql_* function are deprecated使用PDOMysqli代替