[英]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.