Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/280.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 解码url中的属性_Php_Utf 8 - Fatal编程技术网

Php 解码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函数中找到了返回属性的查询,但是当用户从筛选

我有一个带有过滤模块的电子商店。过滤器模块中的某些选项使用希腊字符

当有人选择这样的过滤器时,在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函数中找到了返回属性的查询,但是当用户从筛选中选择属性时,有没有办法在打印到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;如果浏览器选择这样做,它可能会以解码格式显示,但这完全取决于浏览器,而不是您可以决定的。