不要吐槽我为什么用sql语句来做urldecode。。。
但是当你遇到这种情况而且搜到的sql都只支持英文时,这篇文章就有用了
参考文章:
http://psoug.org/snippet/url_decode_that_respects_utf8_characters_502.htm
http://www.w3schools.com/tags/ref_urlencode.asp
原方法在替换'%0A'时转换失败,加多一句处理,其他特殊符号均可参照表格用同样方法提前替换。
------------------------------------
Sql代码:
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', '\r\n') ; 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 ;
相关推荐
Mysql支持emoji 表情符号 升级编码为UTF8MB4
UrlDecode是我们天天要用的东西了,小的字符串,我们直接拷到在线网站上处理掉,大量数据呢?这个工具可以高效离线处理,亲测200GB日志,完全满足您的需求。
js实现urlncode 和urldecode
这个是 utf-8版本的 js实现 php的 urlencode() 和 urldecode()两个函数的功能。 在传送cookie的时候 在 php端实现 url编码 但要用 js来解码cookie的时候 就出现汉字不能不能识别的问题 这个 js 很好的解决
urlEncode or urlDecode
使用python2.6.6,windows下直接拖拽文件到图标上即可。 输出文件为UTF-8文件,文件名为原文件名.dec。 代码中把注释去掉则输出变为GB2312,可以自行修改。
代码如下:‘================================================ ‘函数名:URLDecode ‘作 用:URL解码 ‘================================================ Function URLDecode(ByVal urlcode) Dim start,final,...
自己写的,可能有bug,请大家一块学习 环境为PB12 函数(及参数) 作用 arraysort 对一维数组进行排序 ...urldecode 将指定字符串以进行指定字符集url解码 urlencode 将指定字符串以进行指定字符集url编码 涨价了,哈哈
urlencode urldecode实现,在xcode里使用c++混编
即: 如果有空格就用 代替,如果有其它字符就用%ASCII...具体实现如下: 代码如下:function urldecode(encodestr) newstr=”” havechar=false lastchar=”” for i=1 to len(encodestr) char_c=mid(encode
易语言URL编解码源码,URL编解码,URLEncode,URLDecode
这各函数能将字符串转换成UTF8格式并且是十六进制的内码格式
NULL 博文链接:https://lindows.iteye.com/blog/259125
EncodeDecode & ANSI-UTF8编码转换工具
CAST-128 Encryption & Decryption with UTF-8 support by Python
delphi7调用delphi2009生成的dll文件会出现乱码问题。是unicode的原因 终于找到了UTF-8、Unicode格式转换函数
utf8 解码 以 UTF8 解码 JavaScript 字符串 安装 $ component install ForbesLindesay/utf8-decode 应用程序接口 执照 麻省理工学院
前端页面通过ajax发送请求,参数都是默认使用utf-8编码格式对参数进行url编码,这样的后果就是,当后台页面如果使用gbk编码的话,会出现乱码的情况,然后网上找到一个大神写的gbk.js. 但是里面没有做出详细介绍,这里...
urldecode 把%20等符号还原成原始值
urldecode for gb2312编码 (xe1~xe6适用),网上唯一可以在xe以后版本通过的版本。不需要Tencode支持。