PHP:parse_url解码字符

时间:2016-06-30 15:34:02

标签: php url

因此问题很奇怪,因为它只在某些系统上发生。

如果你有这一行:

parse_url('/€?€#€')

在PHP版本7.0.4的本地系统上,它给出了以下结果:

array(3) {        
  ["path"]=>      
  string(4) "/▒_▒"
  ["query"]=>     
  string(3) "▒_▒" 
  ["fragment"]=>  
  string(3) "▒_▒" 
}     

这里经历了类似的事情:

https://www.functions-online.com/parse_url.html

输入$ url框:

/€?€#€

但是这里工作得很好,虽然PHP版本与我的机器相同: http://sandbox.onlinephpfunctions.com/

知道为什么会这样吗?

预期的解析网址结果应为:

array(3) {
  ["path"]=>
  string(4) "/€"
  ["query"]=>
  string(3) "€"
  ["fragment"]=>
  string(3) "€"
}

编辑:

文件编码是UTF-8,PHP内部编码也是UTF-8,可以在服务器上设置的所有东西都是UTF-8。

0 个答案:

没有答案