php file_get_contents编码问题

时间:2012-02-08 13:13:56

标签: php encoding sms

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

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

$msg = urlencode("Hello World");

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

file_get_contents是否存在问题?

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

3 个答案:

答案 0 :(得分:1)

请尝试使用rawurlencode()

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

答案 1 :(得分:1)

我想出了什么问题:

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

  

file_get_contents是否存在问题?

没有

  

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

是的,使用网络嗅探器。

答案 2 :(得分:0)

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