为了账号安全,请及时绑定邮箱和手机立即绑定

Invalid Encoding json(显示西里尔文时出现问题)

Invalid Encoding json(显示西里尔文时出现问题)

PHP
慕雪6442864 2021-08-28 08:59:56
我正在尝试从表单中推导出一个文件,显示西里尔文时出现问题PHP (7.1)<?php    header("Content-type: application/json; charset=utf-8");    file_put_contents('export.json', json_encode($_REQUEST) );?>输出 You_name 字段是用字符写的。{"Entry_ID":"71","You_name":"\u041a\u043e\u0437\u043b\u0430\u043d\u0431\u0435\u043a \u0410\u043c\u0438\u0440 \u041f\u043e\u043c\u0438\u0434\u043e\u0440\u043e\u0432\u0438\u0447","You_phone":"7 (902) 998 1019","You_date":"19\/06\/2019"}
查看完整描述

3 回答

?
鸿蒙传说

TA贡献1865条经验 获得超7个赞


json_encode( $text, JSON_UNESCAPED_UNICODE );

例子:


/tmp $ cat test.php

<?php

echo json_encode(['key'=>'ыфва']), PHP_EOL;

echo json_encode(['key'=>'ыфва'], JSON_UNESCAPED_UNICODE), PHP_EOL;

/tmp $ php test.php

{"key":"\u044b\u0444\u0432\u0430"}

{"key":"ыфва"}

/tmp $ php --version

PHP 7.3.6 (cli) (built: May 31 2019 23:38:25) ( NTS )

Copyright (c) 1997-2018 The PHP Group

Zend Engine v3.3.6, Copyright (c) 1998-2018 Zend Technologies

    with Xdebug v2.7.2, Copyright (c) 2002-2019, by Derick Rethans

    with Zend OPcache v7.3.6, Copyright (c) 1999-2018, by Zend Technologies


查看完整回答
反对 回复 2021-08-28
?
缥缈止盈

TA贡献2041条经验 获得超4个赞

您应该使用 $_POST 来获取表单数据,如下所示


  header("Content-type: application/json; charset=utf-8");


  file_put_contents('export.json', json_encode($_POST) );


查看完整回答
反对 回复 2021-08-28
?
慕妹3242003

TA贡献1824条经验 获得超6个赞

试试这个(来源):


header("Content-type: application/json; charset=utf-8")


$convert = file_put_contents('export.json', json_encode($_REQUEST));

$convert = iconv('CP1251', 'UTF-8', $convert);


查看完整回答
反对 回复 2021-08-28
  • 3 回答
  • 0 关注
  • 179 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信