zoukankan      html  css  js  c++  java
  • mysql urldecode

    DELIMITER $$  
      
    DROP FUNCTION IF EXISTS `url_decode` $$  
    CREATE DEFINER=`root`@`%` FUNCTION `url_decode`(original_text TEXT) RETURNS TEXT CHARSET utf8  
    BEGIN  
        DECLARE new_text TEXT DEFAULT NULL;  
        DECLARE pointer INT DEFAULT 1;  
        DECLARE end_pointer INT DEFAULT 1;  
        DECLARE encoded_text TEXT DEFAULT NULL;  
        DECLARE result_text TEXT DEFAULT NULL;  
       
        SET new_text = REPLACE(original_text,'+',' ');  
        SET new_text = REPLACE(new_text,'%0A','
    ');  
       
        SET pointer = LOCATE("%", new_text);  
        while pointer <> 0 && pointer < (CHAR_LENGTH(new_text) - 2) DO  
            SET end_pointer = pointer + 3;  
            while MID(new_text, end_pointer, 1) = "%" DO  
                SET end_pointer = end_pointer+3;  
            END while;  
       
            SET encoded_text = MID(new_text, pointer, end_pointer - pointer);  
            SET result_text = CONVERT(UNHEX(REPLACE(encoded_text, "%", "")) USING utf8);  
            SET new_text = REPLACE(new_text, encoded_text, result_text);  
            SET pointer = LOCATE("%", new_text, pointer + CHAR_LENGTH(result_text));  
        END while;  
       
        return new_text;  
      
    END $$  
      
    DELIMITER ; 
  • 相关阅读:
    第九周学习进度
    用户场景描述
    第九天
    第10天
    求两个有序数组的中值
    计算字符串中最长子字符串的长度
    计算两个数之和
    将string 转int
    判断一个int 型整数 是否为回文数
    php 对象的一些特性
  • 原文地址:https://www.cnblogs.com/chensuqian/p/13685359.html
Copyright © 2011-2022 走看看