PHP декодирует UTF-8 в URL, т.е. & amp; title =% C5% 8Cyu notyu not Åuyu

Не могли бы вы помочь мне расшифровать этот URL, чтобы он правильно отображался с использованием PHP для вывода

Это ссылка
http://www.megalithic.co.uk/visits.php?op=site&SID = 18341&название = Ойя

Я думаю, что это действительно как UTF-8 — то есть
&название =% C5% 8Cyu

$ title отображается как ÅŒyu

Как мне конвертировать это в PHP? Мне нужно использовать ISO-8859-1 на странице

Ни одна из этих работ

$title=iconv("UTF-8","ISO-8859-1",$title);
$title=iconv('UTF-8', 'ASCII//TRANSLIT//IGNORE', $title);
$title = utf8_decode($title);
$title = urldecode($title);

Нужно ли использовать расширение Multibyte MB и если да, то как?
Спасибо заранее
Энди

0

Решение

Если эта ссылка на вашу страницу PHP, и вы получаете значение через $_GET['title']то он уже декодируется из кодировки URL и $_GET['title'] содержит строку в кодировке UTF-8 с символом Ō. Этот символ не может быть закодирован в ISO-8859-1. Если это строгое требование, вам придется кодировать символ как HTML-сущность, чтобы выразить его на странице, строго закодированной в соответствии со стандартом ISO-8859-1:

echo htmlentities('Ō', ENT_COMPAT | ENT_HTML5, 'UTF-8');
2

Другие решения

Символ «Ō» отсутствует в ISO-8859-1, поэтому его невозможно преобразовать из UTF-8 с помощью любой из стандартных функций преобразования кодировки.

Однако можно написать функцию, которая преобразует в числовые кодировки HTML, например Ō для «Ō».

1

По вопросам рекламы [email protected]