Voilà une petite fonction de décodage, pour un texte encodé par rawurlencode de PHP par exemple :
Appel :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38 CREATE FUNCTION url_decode( texte TEXT ) RETURNS TEXT BEGIN SET @i = 1; SET @new_texte = texte; REPEAT BEGIN SET @sub = SUBSTRING( @new_texte, @i, 3 ); IF LENGTH( @sub ) > 2 THEN BEGIN IF @sub REGEXP '^%[A-Fa-f0-9]{2}$' THEN BEGIN SET @char_convert = CHAR( CONV( SUBSTRING( @sub, 2 ), 16, 10 ) ); SET @texte_deb = SUBSTRING( @new_texte, 1, @i - 1 ); SET @texte_fin = SUBSTRING( @new_texte, @i + 3 ); SET @new_texte = CONCAT( @texte_deb, @char_convert, @texte_fin ); END; END IF; END; END IF; SET @i = @i + 1; END; UNTIL LENGTH( @sub ) <= 2 END REPEAT; RETURN @new_texte; END
Résultat :
Code : Sélectionner tout - Visualiser dans une fenêtre à part SELECT url_decode( 'http%3A%2F%2Fwww.google.fr%2Fsearch%3Fsource%3Dig%26q%3Ddu%2Btexte' )
Partager