Php 解码url中的属性
我有一个带有过滤模块的电子商店。过滤器模块中的某些选项使用希腊字符 当有人选择这样的过滤器时,在url中会添加一个属性,格式如下:Php 解码url中的属性,php,utf-8,Php,Utf 8,我有一个带有过滤模块的电子商店。过滤器模块中的某些选项使用希腊字符 当有人选择这样的过滤器时,在url中会添加一个属性,格式如下: &attribute_value[12][]=Υπολογιστές 但用户在url中看到: &attribute_value%5B12%5D%5B%5D%3D%CE%A5%CF%80%CE%BF%CE%BB%CE%BF%CE%B3%CE%B9%CF%83%CF%84%CE%AD%CF%82 我在php函数中找到了返回属性的查询,但是当用户从筛选
&attribute_value[12][]=Υπολογιστές
但用户在url中看到:
&attribute_value%5B12%5D%5B%5D%3D%CE%A5%CF%80%CE%BF%CE%BB%CE%BF%CE%B3%CE%B9%CF%83%CF%84%CE%AD%CF%82
我在php函数中找到了返回属性的查询,但是当用户从筛选中选择属性时,有没有办法在打印到url之前解码属性
提前谢谢使用
rawurldecode
<?php
rawurldecode('&attribute_value%5B12%5D%5B%5D%3D%CE%A5%CF%80%CE%BF%CE%BB%CE%BF%CE%B3%CE%B9%CF%83%CF%84%CE%AD%CF%82')
//out put: &attribute_value[12][]=Υπολογιστές
使用rawurldecode
<?php
rawurldecode('&attribute_value%5B12%5D%5B%5D%3D%CE%A5%CF%80%CE%BF%CE%BB%CE%BF%CE%B3%CE%B9%CF%83%CF%84%CE%AD%CF%82')
//out put: &attribute_value[12][]=Υπολογιστές
URL不能包含普通字符串“Υπολογιστές”,必须对其进行编码。但是,由于在您的案例中,即使是=
似乎也进行了编码,因此似乎在某个时候发生了不正确的编码。你必须弄清楚到底是什么在这里编码什么。通常在我的url中,希腊字符显示正常。当我复制粘贴链接时,字符被编码,但访问者在url中可以看到希腊字符。所以,在显示到url之前,我可以解码字符吗?url必须编码为有效的url;如果浏览器选择以解码格式显示,那么它可能会以解码格式显示,但这完全取决于浏览器,而不是您可以决定的。URL不能包含纯字符串“Υπολογιστές”,必须对其进行编码。但是,由于在您的案例中,即使是=
似乎也进行了编码,因此似乎在某个时候发生了不正确的编码。你必须弄清楚到底是什么在这里编码什么。通常在我的url中,希腊字符显示正常。当我复制粘贴链接时,字符被编码,但访问者在url中可以看到希腊字符。所以,在显示到url之前,我可以解码字符吗?url必须编码为有效的url;如果浏览器选择这样做,它可能会以解码格式显示,但这完全取决于浏览器,而不是您可以决定的。