Как получить utf-8 в php json_encode при преобразовании из массива в строку?

Как получить utf-8 в json_encode PHP при преобразовании из массива в строку?

Это мой код для test.php:

<meta content="text/html;charset=UTF-8" http-equiv="Content-Type">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

<?PHP
session_start();
include("connect.php");
$word = mysqli_real_escape_string($db_mysqli,$_GET['word']);
$xx = array();
$xx[] = $word;
$xx[] = $word;
$xx_1 = json_encode($xx);
print_r($xx_1);
?>

Когда тестовая нагрузка

example.com/test.php?word=神州

Это шоу

["\u795e\u5dde","\u795e\u5dde"]

Я хочу показать, как это

["神州","神州"]

1

Решение

$xx_1 = json_encode($xx, JSON_UNESCAPED_UNICODE);
print_r($xx_1);.

работает на php5.4 +

На самом деле ["\u795e\u5dde"] такой же как ["神州"], большую часть времени вы json_encode данные до хранения / передачи данных вокруг и после этого вы должны json_decode значение и обработать его, json_docode позаботится о юникодификации. Но приведенный выше код должен дать вам то, что вам нужно.

Док Ссылка

2

Другие решения

http://php.net/manual/en/mysqli.set-charset.php

$db_mysqli->set_charset('utf8');
0

По вопросам рекламы [email protected]