首页 > 解决方案 > 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 测试并且工作正常。

标签: phpjsonwindowsfirebaseutf-8

解决方案


推荐阅读