天天看點

CI中REST URL含有中文怎麼處理(報錯:The URI you submitted has disallowed characters)urldecode

解決方法:

用戶端在發送GET URL請求的時候,将含有中文的URL編碼即可

比如:

原始:http://localhost/qk/rest/user_album_api/get_user_albums_by_desc/album_desc/風景/page_num/1/page_size/3

URL轉碼 http://tool.oschina.net/encode?type=4

結果是:http://localhost/qk/rest/user_album_api/get_user_albums_by_desc/album_desc/%E9%A3%8E%E6%99%AF/page_num/1/page_size/3

在伺服器端,再進行對該編碼的字段進行解碼即可,用PHP函數string urldecode ( string <code>$str</code> )

(PHP 4, PHP 5)

urldecode — 解碼已編碼的 URL 字元串

string urldecode ( string <code>$str</code> )

解碼給出的已編碼字元串中的任何 %##。 加号('+')被解碼成一個空格字元。

<dl></dl>

<dt><code>str</code></dt>

<dd></dd>

要解碼的字元串。

傳回解碼後的字元串。

Example #1 urldecode() 示例

<code>&lt;?php $query = "my=apples&amp;are=green+and+red"; foreach (explode('&amp;', $query) as $chunk) {     $param = explode("=", $chunk);     if ($param) {         printf("Value for parameter \"%s\" is \"%s\"&lt;br/&gt;\n", urldecode($param[0]), urldecode($param[1]));     } } ?&gt;</code>

如何聯系我:【萬裡虎】www.bravetiger.cn

【QQ】3396726884 (咨詢問題100元起,幫助解決問題500元起)

【部落格】http://www.cnblogs.com/kenshinobiy/