首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >字符集Utf8不使用json编码

问字符集Utf8不使用json编码
EN

Stack Overflow用户
提问于 2016-01-30 13:26:38
回答 1查看 405关注 0票数 1

我有一个php文件来返回json,但是结果不正确。

例:=> L?p ?Trμnh ?ng ?ng数据库中的Lập TrμnhỨng ng D?ng

这里是php文件

代码语言:javascript
复制
  <?php 
    $mysql = new mysqli('localhost','root','','freelancer');
    $result = $mysql->query("select * from tag");
    $rows = array();
    while($row = $result->fetch_array(MYSQL_ASSOC)) {
        $rows[] = array_map("utf8_encode", $row);
    }
    echo json_encode($rows);
    ?>

希望大家都能帮助我阅读this.Thanks

EN

回答 1

Stack Overflow用户

发布于 2016-01-30 15:38:52

utf8_encode()只适用于编码为iso-8895-1的字符串.由于您的字符串包含非拉丁字符,所以您的数据不能用iso-8895-1编码,所以utf8_encode()肯定无法工作。

相反,您需要要求MySQL通过将set_charset("utf8")添加到您的连接配置中,返回以UTF-8编码的数据。现在您有了UTF-8编码字符串,您不再需要重新编码它.

新代码应该如下所示:

代码语言:javascript
复制
<?php 
    $mysql = new mysqli('localhost','root','','freelancer');
    $mysql->set_charset("utf8")

    $result = $mysql->query("select * from tag");
    $rows = array();
    while($row = $result->fetch_array(MYSQL_ASSOC)) {
        $rows[] = $row;
    }
    echo json_encode($rows);
?>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35102352

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档