php - php7 在 windows utf-8 字符问题中弹出
问题描述
最近我将一个旧应用程序从 php5.6 迁移到 php7.4,进行了兼容性更改,除了使用 firebase 发送通知的 popen 命令之外,一切正常,命令是:
pclose(popen("start c:\path-to\curl.exe --header \"Authorization: key=firebase-key\" --header \"Content-Type: application/json\" -d \"".addcslashes(json_encode($fields,JSON_UNESCAPED_UNICODE),'\\"')."\" -X POST \"https://fcm.googleapis.com/fcm/send\"","r"));
通知采用波斯语和 utf-8 编码,它在具有 php5.6 的同一 IIS 服务器上运行良好,但是当我使用 php7.4 时,通知将是?????? (问号),任何想法是什么问题?
更新
在 Widnows IIS 上使用 PHP7.2 测试,问题存在。
在 Linux NGINX FPM 上使用 PHP7.2 测试并且工作正常。
解决方案
推荐阅读
- azure-storage - 可选择写入 blob
- javascript - 如何正确模拟节点模块以进行笑话单元测试
- amazon-web-services - 通过 cpu 利用率自动扩展 t3 实例?
- ruby - 在 Chef 中访问模板属性
- excel - 如何使用 excel 中的数据标准化多个代理之间的销售分配百分比?
- graphviz - 点中的工具提示(graphviz)
- ubuntu - 请问如何在 ubuntu18.04 中通过 xfconf-query 制作桌面颜色?
- python - 当 Celery 检索结果时,Python 迅速泄漏内存
- javascript - Javascript功能范围,如何绕过它?
- json - 访问 dart 中的 json 元素