编码增加了字符串大小,但解码不会减少它

时间:2013-12-29 23:39:07

标签: php codeigniter url smarty decoding

我正在通过网址发送字符串。

我写的字符串是:

"tasse(s)", size : 8

当我从url传输它时,它会对字符串进行编码,所以就像那样:

 string(16) "tasse(s)"

如果我得到更多信息,那么:

string(16) "tasse(s)"

因此,在通过url接收我的参数后,可以回来:

"tasse(s)", size : 8

因为“tasse(s)”,我的Mysql BDD中存在大小:8,但是当我将它与“tasse(s)”进行比较时,大小:16,它认为它们不一样..

有人有解决方案吗?

代码:

{assign var="myUri" value=site_url("admin/deleteRowInRecipe/"|cat:$recette[$i]->id|cat:"/"|cat:$ingredient|cat:"/"|cat:$quantite|cat:"/"|cat:$unite)}   

<a href="{$myUri}"><input type="button" value="Supprimer"></a>

在我的控制台firefox / chrome中:

<a href="http://localhost/CodeIgniter_RECETTE-copie/admin/deleteRowInRecipe/52/curcuma/1/3/tasse(s)">
<input type="button" value="Supprimer"></a>
                        <br/>

1 个答案:

答案 0 :(得分:1)

那些是htmlentities,Code Igniter在某个地方逃避参数(或者你无意中这样做)。要获得正确的值,您可以使用html_entity_decode

$ php -r 'var_dump(html_entity_decode("tasse&#40;s&#41;"));'
string(8) "tasse(s)"