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