丹麦字符在 PHP 中获取空值的json_encode


json_encode with danish character getting null value in php

我在json_encode中使用丹麦字符。但它获得空值。

$response = array("Logind gennemført", "Din konto venter på aktivering");
print_r($response);
echo json_encode($response, true);

提前谢谢。

您需要

将数组值编码为 utf8,以便可以使用 utf8_encode()array_map

$yourArr = array_map('utf8_encode', $response); 
$json = json_encode($yourArr);

请注意,您在json_encode()中使用了两个参数,这不是必需的。

注释:

    确保创建数组的脚本是 UTF-8
  • 编码的,或将数组转换为 UTF-8。
  • 在 HTML 中使用时,请确保字符集设置为 UTF-8。

示例代码:

<?php
    // Page header, specify character set
    echo '<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" dir="ltr" lang="en-US">
<head>
<meta charset="utf-8" />
</head>
<body>
';
    // Code
    $response = array("Logind gennemført", "Din konto venter på aktivering");
    print_r($response);
    echo json_encode($response, true);
    // Page footer
    echo '</body>
</html>
';
?>

结果:

打印阵列:

Array ( [0] => Logind gennemført [1] => Din konto venter på aktivering )

回显 json 对象字符串:

["Logind gennemf'u00f8rt","Din konto venter p'u00e5 aktivering"]