У меня есть пара закодированных строк с различными типами кодирования, например: Zubeh%F6r
а также Zubeh%C3%B6r
которые оба должны быть декодированы в Zubehör
,
Первая строка примера может быть декодирована с помощью PHP-функции urldecode (), но единственное решение, которое я нашел для декодирования второй строки, было с помощью функции javascript unescape ().
Вопрос 1: Как я могу декодировать строку второго типа с помощью функции PHP?
Вопрос 2: Как я могу сделать функцию PHP, где я могу передать текст с этими двумя типами кодирования, и функция автоматически декодирует текст правильно?
Я мог бы написать книгу о запутанной кодировке к настоящему времени …
Q1: это двойная кодировка, как вы можете видеть из количества «странных» символов.
Q2: это довольно сложная задача. Вы можете использовать некоторые функции mbstring в PHP, чтобы проверить тип кодировки, который у вас есть, а затем все изменить его на тот, который вам нужен. Тем не менее, когда я правильно помню, есть некоторые проблемы с точки зрения обнаружения и изменения всех должным образом. В прошлом были некоторые проблемы с этим материалом в некоторых проектах.
Некоторая точка отсчета:
https://secure.php.net/manual/de/book.mbstring.php
Других решений пока нет …