PHP rawurlencode, сопровождаемый JS decodeURIComponent, выдает некорректную ошибку URI

У меня есть этот кусок кода, который кодирует массив результатов поиска в базе данных:

foreach($searchResults[$i] as $key => $value) {
        $searchResults[$i][$key] = rawurlencode($value);

    }

Мне пришлось кодировать, чтобы передать данные в виде JSON на другую страницу. На другой странице я пытаюсь декодировать полученный объект следующим образом в Javascript:

 if (results !== null) {
                    for (var i = 0; i < results.length; i++) {
                        $.each(results[i], function (key, value) {
                            results[i][key] = decodeURIComponent(results[i][key]);
                        });
                    }
                }

Моя проблема в том, что я получаю URIError из-за неправильного URI. Передается несколько частей данных, поэтому мой реальный вопрос заключается в том, существует ли какой-либо метод или инструмент, который позволяет вам искать в массиве строк объект-нарушитель. У меня есть несколько результатов, и я не испытываю удовольствия от необходимости проходить их по буквам за символами, чтобы найти кодировку, которая нарушает правила. У кого-нибудь есть предложения? Если бы я мог выяснить, какой символ / символы вызывают эту ошибку, я был бы на пути к поиску решения. Я новичок в коде, поэтому, пожалуйста, прости меня за неправильное использование терминологии.

Кстати, иногда этот код работает отлично... Я пытаюсь найти способ сузить элементы базы данных, которые вызывают ошибки, которые периодически вызывают эту ошибку.

0 ответов

Другие вопросы по тегам