【发布时间】:2014-08-02 12:05:38
【问题描述】:
我有一个这样的 url 请求:
http://localhost/pro/api/index/update_profile?data={"id":"51","name":"abc","address":"stffu fsagu asfhgui fsahgiu3#$@^^@#%^3 6\"\"wkgforqf\";rqgjrg..,,,rqwgtr''qwrgtrw'trwqt'rqwtqwr trqt\n"}
我正在尝试对此 url 进行 json 解码。我使用以下代码对 url 进行解码。如果 url 不包含特殊字符,它工作得很好。但是如果它包含特殊字符,如何对其进行解码。
$string = htmlspecialchars($_REQUEST['data'], ENT_QUOTES);
$jsonFix = urldecode($string);
$string = htmlentities($jsonFix, ENT_QUOTES | ENT_IGNORE, "UTF-8");
$json = json_decode($string, true);
print_r($json);exit;
我尝试了这段代码,但它不起作用。当我尝试以下操作时:
print_r($_REQUEST['data']);exit;
输出是:
{"id":"51","name":"ds"","address":"stffu fsagu asfhgui fsahgiu3
表示它正在从# 字符开始。
(旁注:我正在为 iphone 开发 api,所以请求来自 iphone,框架:CI)
那么如何获取包含特殊字符的url以及如何解码呢?
【问题讨论】:
-
Hashtag无法通过Get参数发送。
-
我不知道,iphone 开发者如何发送数据。但我可以使用
$_REQUEST获得它。 -
@sriraman 可以,只要
urlencode()ded