Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/275.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中的后字符串解码_Php_Decoding - Fatal编程技术网

PHP中的后字符串解码

PHP中的后字符串解码,php,decoding,Php,Decoding,PHP中是否有任何内置函数需要解码 przysi%25C4%2599gam%2520s%25C5%2582u%25C5%25BCy%25C4%2587 进入 przysięgam służyć ?-解码URL编码字符串 但我认为这对多字节字符串不起作用。请参阅手册页上的注释,了解可能的用户区解决方法,以及对URL编码字符串进行解码 但我认为这对多字节字符串不起作用。请参阅手册页上的注释,了解可能的用户区解决方法,以及您是否尝试过以下方法: function utf8_urldecode(

PHP中是否有任何内置函数需要解码

przysi%25C4%2599gam%2520s%25C5%2582u%25C5%25BCy%25C4%2587

进入

przysięgam służyć

-解码URL编码字符串

但我认为这对多字节字符串不起作用。请参阅手册页上的注释,了解可能的用户区解决方法,以及对URL编码字符串进行解码

但我认为这对多字节字符串不起作用。请参阅手册页上的注释,了解可能的用户区解决方法,以及您是否尝试过以下方法:

    function utf8_urldecode($str) {
      $str = preg_replace("/%u([0-9a-f]{3,4})/i","&#x\\1;",urldecode($str));
      return html_entity_decode($str,null,'UTF-8');;
  }
取自

编辑:您的初始字符串被弄乱了。你把它编码了两次吗?因为utf8_urldecode(utf8_urldecode($encoded string))给出了正确的结果。

您是否尝试过以下方法:

    function utf8_urldecode($str) {
      $str = preg_replace("/%u([0-9a-f]{3,4})/i","&#x\\1;",urldecode($str));
      return html_entity_decode($str,null,'UTF-8');;
  }
取自


编辑:您的初始字符串被弄乱了。你把它编码了两次吗?因为utf8_urldecode(utf8_urldecode($encoded string))给出了正确的结果。

我猜您的urldecode和多字节字符有问题。Urldecode只能解码8位字符,并且您的字符串包含多字节字符


检查以获得一些解决方案。

我猜您在urldecode和多字节字符方面存在问题。Urldecode只能解码8位字符,并且您的字符串包含多字节字符


检查一些解决方案。

好的,戈登和马诺斯,你们都是对的(也都是错的;)

这只是普通的“urldecode”,但应用了两次


好吧,戈登和马诺斯,你们都对(也都错;)

这只是普通的“urldecode”,但应用了两次


消极的Urldecode在这个问题上失败得很厉害,因为它只解码%###个字符。否定。Urldecode在我的机器上失败得很厉害,因为它只解码%字符。在我的机器上,give
przysi%C4%99gam%20s%C5%82u%C5%BCy%C4%87
。give
przysi%C4%99gam%20s%C5%82u%C5%BCy%C4%87
在我的机器上。你确定生成这些字符串的程序知道它在做什么吗?如果它是UTF-8 url编码的字符串,它应该读取
przysi%25%C4%25%99gam…
,也就是说,两个字节都是url编码的。您确定生成这些字符串的程序知道它在做什么吗?如果它是一个UTF-8 url编码的字符串,它应该读
przysi%25%C4%25%99gam…
,也就是说,两个字节都是url编码的。这很有趣,因为该字符串是使用encodeURLEntity()发布的一个普通JS脚本--不知道为什么这些东西会被编码两次这很有趣,因为该字符串是使用encodeURLEntity()发布的一个凡人JS脚本——不知道为什么会对该字符串进行两次编码