我有两个文件:config.php和add.php我试图在数据库中插入英文和俄文数据。
config.php的代码
<?php
header('Content-Type: text/html; charset=utf-8' );
$link = mysql_connect('asd','asd','asd') or die('Cannot connect to the DB');
mysql_select_db('asd',$link) or die('Cannot select the DB');
mysql_query("set character_set 'utf8'");
mysql_set_charset("utf8", $link);
echo mysql_client_encoding($link);
printf( "MySQL server version: %s\n", mysql_get_server_info());
?>
配置中最后两行的输出为:
utf8
MySQL server version: 5.1.72-rel14.10
从add.php页面我得到一个数组:
Array
(
[0] => Array
(
[message] => Registered
[detail] => Array
(
[id] => 54
[name] => Настройки
)
)
)
现在我尝试将其转换为JSON
echo json_encode($posts,128);
但是我输出了\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438
作为名称,数据库排序规则在utf8_general_ci中,数据库中的条目格式正确,但我无法以正确的形式获取数据。
注意:请忽略SQL,我稍后会更改。
答案 0 :(得分:1)
您可以尝试:
echo json_encode($posts, JSON_UNESCAPED_UNICODE);