Urldecode скандинавских значений ASCII

Мне нужна помощь с декодированием закодированных в скандинавском формате ASCII значений с помощью PHP.

Я пробовал расшифровать символ как это:

$string = "%e5";
echo rawurldecode($string);

Но это дает черный алмаз . Тот же результат с функцией urldecode ().

я использую <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta charset="utf-8">
в голову.

При использовании функции rawurldecode () для английских букв, таких как% 61, она прекрасно работает.
Увидеть http://www.backbone.se/urlencodingUTF8.htm для всех URL-кодированных ASCII-кодов.

1

Решение

E5 является ISO-8859-1 кодированным представлением символа å.

Ваша проблема в том, что вы выводите строку в кодировке ISO-8859-1, но при этом говорите браузеру интерпретировать ее как UTF-8. Либо измените кодировку в своем HTTP-заголовке / метатеге, либо преобразуйте строку из 8859 в UTF-8:

echo utf8_encode(rawurldecode('%e5'));

(Там почти никогда не хорошее время для utf8_encode, но в этом случае он фактически кратко выполняет необходимое преобразование кодировки. Обычно вы должны предпочесть явные преобразования кодировок, используя iconv или же mb_convert_encoding.)

0

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

Набор символов utf-8 не содержит код e5.

Пожалуйста, проверьте таблицу с кодировкой UTF-8.
Попробуйте с правильной строкой utf-8.

Набор символов «скандинавский ascii» не поддерживается rawurldecode.

Попробуйте одну из функций iconv, которые поддерживают CP865 (я думаю, это набор символов, для которого вы хотите поддержку):

http://php.net/manual/ro/function.iconv-mime-decode.php

http://php.net/manual/ro/function.iconv-mime-decode-headers.php

0

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