【问题标题】:PHP | json_decode() causing character problemsPHP | json_decode() 导致字符问题
【发布时间】:2016-06-10 17:36:58
【问题描述】:

我正在从返回编码字符的 API 中检索数据。例如,返回的字符串的一部分是 \u2605,它是特殊符号(开始)的 unicode,请参见链接: http://www.fileformat.info/info/unicode/char/2605/index.htm

使用 php,我运行以下代码将数据转换为数组,以便我可以使用它:

$result = file_get_contents($url);
$decoded = json_decode($result, true)

但是,我遇到的问题是符号的 unicode 代码随后被转换为一些乱码。例如\u2605 被转换为★

其他符号也会被转换。

我可以在这里做什么?

【问题讨论】:

标签: php json unicode encoding


【解决方案1】:

JSON 默认使用utf-8 字符编码。 这就是为什么您还必须以 utf-8 字符集输出解码的 JSON 的原因。

如果你是在 html 中输出,尝试设置元字符集:

<html>
    <head>
        <meta charset="utf-8" />
    </head>
    <body>
    <?php
        $json = '{"value":"\u2605"}';
        $dec = json_decode($json);
        var_dump($dec);
    ?>
    </body>
</html>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-15
    • 1970-01-01
    • 2014-04-26
    • 1970-01-01
    • 2013-02-13
    • 2021-11-14
    相关资源
    最近更新 更多