繁体   English   中英

php file_get_contents编码问题

[英]php file_get_contents encoding issue

我正在尝试将SMS服务集成到我的网站中。 我需要使用名为“msg”(urlencoded)的参数进行HTTP调用。

目前,我正在构建整个URL,其中msg param是urlencoded(即$msg = urlencode($msg) ),我正在发送短信。

$msg = urlencode("Hello World");

虽然我在手机上收到的是“Hello + World”而不是“Hello World”。

那么file_get_contents有问题吗?

另外,无论如何,我可以看到字符串“file_get_contents”最终发出?

尝试使用rawurlencode()代替。

主要区别(尽管还有其他区别)是它将空格编码为%20而不是+ 这很可能是您问题的根源。

我想是什么问题:

我正在使用http_build_query来创建查询字符串,我正在向它传递urlencode 'd param。 因此它被编码了两次。

那么file_get_contents有问题吗?

没有。

另外,有什么办法,我可以看到字符串file_get_contents最终发出?

是的,使用网络嗅探器。

您需要在检索数据后使用urldecode()然后显示给用户

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM