2016-04-07 4 views
0

Пример 1PHP REQUEST_URI нескольких языков не показывает

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

Когда я echo $myvalue = "$_SERVER[REQUEST_URI]"; печатает

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

Exampe 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"> 

и я также обновленный файл PHP в Unicode через Dreamweaver -> изменить -> Свойства страницы

Я попробовал это AddDefaultCharset utf-8 мой файл .htaccess. Это не сработало.

Также попробовал это в моем php-файле header('Content-Type: text/html; charset=utf-8'); Он также не работал.

$_SERVER[REQUEST_URI] только неверно отображает языки. В противном случае на моих веб-страницах отображаются все языки.

ответ

1

$_SERVER['REQUEST_URI'] всегда кодируется по URL-адресу. Просто сделайте

$decoded = rawurldecode($_SERVER['REQUEST_URI']); 
Смежные вопросы