FoxInCloud
Re: URLdecode() issue
UrlDecode hasn't been mmodified in a Looooong time, but it looks like you've modified it. Possible that your modifications have something to do with the failure :-)
+++ Rick ---
Rick,
Thanks very much for your test.
Our test string is URL-encoded by Prototype.js from utf-8
Basically, Prototype.js uses encodeURIComponent().
I'll dig further into that.
FWIW, here is the code from Prototype:
function toQueryPair(key, value) { if (Object.isUndefined(value)) return key; return key + '=' + encodeURIComponent(String.interpret(value)); } function toQueryString() { return this.inject([], function(results, pair) { var key = encodeURIComponent(pair.key), values = pair.value; if (values && typeof values == 'object') { if (Object.isArray(values)) { var queryValues = []; for (var i = 0, len = values.length, value; i < len; i++) { value = values[i]; queryValues.push(toQueryPair(key, value)); } return results.concat(queryValues); } } else results.push(toQueryPair(key, values)); return results; }).join('&'); }
Not sure. Guessing the string isn't properly UrlEncoded.
I tried the following (in 5.62) and it works just fine:
CLEAR DO WCONNECT TEXT TO lcText NOSHOW Nous vous informons qu'à dater de ce jour , le Centre Technique Biomédical (CTB) réalise : -Sérologie de l' Hélicobacter pylori . -Antigène Carcino- embyonnaire (ACE : Technique ELFA Vidas Biomérieux). -Cortisolémie (Technique ELFA Vidas Biomérieux) -D- Dimères (Seuil d'exclusion < 500 :Technique ELFA Vidas Biomérieux) -Troponinémie (Technique ELFA Vidas Biomérieux) -Streptocoque bêta hémolytique du groupe A Test Délai des résultats: J0 Veuillez nous consulter pour plus d'informations. NB: Laboratoire D'analyses Médicales d'Analamahitsy Lot II N 64 G Nanisana Analamahitsy Du Lundi au Vendredi de 7h30 à 18h 00 Tel: 020 26 323 17 / 020 22 450 61 / 034 64 195 17 ENDTEXT lcEncoded = UrlEncode(lcText) ? lcEncoded lcDecoded = UrlDecode(lcEncoded) ShowText(lcDecoded) *** Returns .T. meaning it decoded the same as original string ? lcText = lcDecoded RETURN
This using your original UrlEncoded content also works in 5.62:
TEXT TO lcEncoded NOSHOW
Nous%
TEXT TO lcEncoded NOSHOW Nous%20vous%20informons%20qu'%C3%A0%20dater%20de%20ce%20jour%20%2C%20le%20Centre%20Technique%20Biom%C3%A9dical%20(CTB)%20r%C3%A9alise%20%3A%0A-S%C3%A9rologie%20de%20l'%20H%C3%A9licobacter%20pylori%20.%0A-Antig%C3%A8ne%20Carcino-%20embyonnaire%20(ACE%20%3A%20Technique%20ELFA%20Vidas%20Biom%C3%A9rieux).%0A-Cortisol%C3%A9mie%20(Technique%20ELFA%20Vidas%20Biom%C3%A9rieux)%0A-D-%20Dim%C3%A8res%20(Seuil%20d'exclusion%20%3C%20500%20%3ATechnique%20ELFA%20Vidas%20Biom%C3%A9rieux)%0A-Troponin%C3%A9mie%20(Technique%20ELFA%20Vidas%20Biom%C3%A9rieux)%0A-Streptocoque%20b%C3%AAta%20h%C3%A9molytique%20du%20groupe%20A%20Test%0A%20%0AD%C3%A9lai%20des%20r%C3%A9sultats%3A%20J0%0AVeuillez%20nous%20consulter%20pour%20plus%20d'informations.%0A%20%0ANB%3A%20Laboratoire%20D'analyses%20M%C3%A9dicales%20d'Analamahitsy%0ALot%20II%20N%2064%20G%20Nanisana%20Analamahitsy%0ADu%20Lundi%20au%20Vendredi%20de%207h30%20%C3%A0%2018h%2000%0ATel%3A%20020%2026%20323%2017%20%2F%20020%2022%20450%2061%20%2F%20034%2064%20195%2017 ENDTEXT lcDecoded = UrlDecode(lcEncoded) ShowText(lcDecoded) ? lcText = lcDecoded
+++ RIck ---
agetext">
Hi,
Using wwUtils.prg!URLdecode() > wwIPStuff.dll!URLDecode(),
The following URL-encoded string
Nous%20vous%20informons%20qu'%C3%A0%20dater%20de%20ce%20jour%20%2C%20le%20Centre%20Technique%20Biom%C3%A9dical%20(CTB)%20r%C3%A9alise%20%3A%0A-S%C3%A9rologie%20de%20l'%20H%C3%A9licobacter%20pylori%20.%0A-Antig%C3%A8ne%20Carcino-%20embyonnaire%20(ACE%20%3A%20Technique%20ELFA%20Vidas%20Biom%C3%A9rieux).%0A-Cortisol%C3%A9mie%20(Technique%20ELFA%20Vidas%20Biom%C3%A9rieux)%0A-D-%20Dim%C3%A8res%20(Seuil%20d'exclusion%20%3C%20500%20%3ATechnique%20ELFA%20Vidas%20Biom%C3%A9rieux)%0A-Troponin%C3%A9mie%20(Technique%20ELFA%20Vidas%20Biom%C3%A9rieux)%0A-Streptocoque%20b%C3%AAta%20h%C3%A9molytique%20du%20groupe%20A%20Test%0A%20%0AD%C3%A9lai%20des%20r%C3%A9sultats%3A%20J0%0AVeuillez%20nous%20consulter%20pour%20plus%20d'informations.%0A%20%0ANB%3A%20Laboratoire%20D'analyses%20M%C3%A9dicales%20d'Analamahitsy%0ALot%20II%20N%2064%20G%20Nanisana%20Analamahitsy%0ADu%20Lundi%20au%20Vendredi%20de%207h30%20%C3%A0%2018h%2000%0ATel%3A%20020%2026%20323%2017%20%2F%20020%2022%20450%2061%20%2F%20034%2064%20195%2017
produces
Nous vous informons qu'à dater de ce jour , le Centre Technique Biomédical (CTB) réalise :
-Sérologie de l' Hélicobacter pylori .
-Antigène Carcino- embyonnaire (ACE : Technique ELFA Vidas Biomérieux).
-Cortisolémie (Technique ELFA Vidas Biomérieux)
-D- Dimères (Seuil d'exclusion < 500 :Technique ELFA Vidas Biomérieux)
-Troponinémie (Technique ELFA Vidas Biomérieux)
-Streptocoque bêta hémolytique du groupe A Test
Délai des résultats: J0
Veuillez nous consulter pour plus d'informations.
NB: Laboratoire D'analyses Médicales d'Analamahitsy
Lot II N 64 G Nanisana Analamahitsy
Du Lundi au Vendredi de 7h30 à 18h 00
Tel: 020 26 323 17 / 020 22 450 61 / 034 64 195 17ulter%20pour%20plus%20d'informations.%0A%20%0ANB%3A%20Laboratoire%20D'analyses%20M%C3%A9dicales%20d'Analamahitsy%0ALot%20II%20N%2064%20G%20Nanisana%20Analamahitsy%0ADu%20Lundi%20au%20Vendredi%20de%207h30%20%C3%A0%2018h%2000%0ATel%3A%20020%2026%20323%2017%20%2F%20020%2022%20450%2061%20%2F%20034%2064%20195%2017
instead of
Nous vous informons qu'à dater de ce jour , le Centre Technique Biomédical (CTB) réalise :
-Sérologie de l' Hélicobacter pylori .
-Antigène Carcino- embyonnaire (ACE : Technique ELFA Vidas Biomérieux).
-Cortisolémie (Technique ELFA Vidas Biomérieux)
-D- Dimères (Seuil d'exclusion < 500 :Technique ELFA Vidas Biomérieux)
-Troponinémie (Technique ELFA Vidas Biomérieux)
-Streptocoque bêta hémolytique du groupe A Test
Délai des résultats: J0
Veuillez nous consulter pour plus d'informations.
NB: Laboratoire D'analyses Médicales d'Analamahitsy
Lot II N 64 G Nanisana Analamahitsy
Du Lundi au Vendredi de 7h30 à 18h 00
Tel: 020 26 323 17 / 020 22 450 61 / 034 64 195 17
Same result with either
wwIPStuff.dll version 5.52
or
wwIPStuff.dll version 4.52
Thanks
Rick Strahl
West Wind Technologies
Making waves on the Web
West Wind Technologies
Making waves on the Web
from Maui, Hawaii