Я написал сканер, который собирает данные и сохраняет их в базе данных.
У меня есть все данные в mysql, но я вижу в нем некоторые закодированные значения.
I могу написать запрос на обновление и исправить данные, если есть какая-либо функция, которая его декодирует, ИЛИ при сохранении данных я могу urldecode
значение (которое, очевидно, не работает, используя его как $name = urldecode($name)
).
Использовал эту процедуру, но не может получить правильные значения.
CREATE FUNCTION URL_DECODE (str text)
RETURNS text
DETERMINISTIC
BEGIN
DECLARE result text;
DECLARE ind INT DEFAULT 0;
SET result = REPLACE(str, '+', ' ');
WHILE ind <= 255 DO
SET result = REPLACE(result, CONCAT('%', LPAD(LOWER(HEX(ind)), 2, 0)), CHAR(ind));
SET result = REPLACE(result, CONCAT('%', LPAD(HEX(ind), 2, 0)), CHAR(ind));
SET ind = ind + 1;
END WHILE;
RETURN result;
END$$
DELIMITER ;