php REQUEST_URI多语言未显示

时间:2016-04-07 16:41:24

标签: php url utf-8 character-encoding

示例1

  

http://localhost/example.com/en/softwares/operating-system/

当我打印echo $myvalue = "$_SERVER[REQUEST_URI]";

  

/example.com/en/softwares/operating-system /

例2

  

http://localhost/example.com/zh/软件/操作系统/

当我打印echo $myvalue = "$_SERVER[REQUEST_URI]";

  

/example.com/zh/%E8%BD%AF%E4%BB%B6/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F /

我不知道为什么?某些语言显示正常。但是,很少有语言(中文,俄文,保加利亚语)没有正确显示。在我的标题中,我设置了

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

我还通过dreamweaver将php文件更新为Unicode - &gt;修改 - &gt;页面属性

我试过这个AddDefaultCharset utf-8是我的.htaccess文件。它不起作用。

在我的php文件header('Content-Type: text/html; charset=utf-8');中也尝试了这个也没用。

$_SERVER[REQUEST_URI]只是没有正确显示语言。否则,在我的网页中,所有语言都会正确显示。

1 个答案:

答案 0 :(得分:2)

$_SERVER['REQUEST_URI']始终是网址编码的。只是做

$decoded = rawurldecode($_SERVER['REQUEST_URI']);