Suppose one URL encodes a string.
urlencode(String1); => Becomes String2
Does successive url encoding on String2 create a string that is different from String 2?
meaning, urlencode(String2) == String2 ?
urlencode(String2) != String2 ?
Suppose one URL encodes a string.
urlencode(String1); => Becomes String2
Does successive url encoding on String2 create a string that is different from String 2?
meaning, urlencode(String2) == String2 ?
urlencode(String2) != String2 ?
It certainly does create a different string, if the original string contained any non-alpha and non--_ character.
So, if the first urlencode encodes even one non-space, it will put a % in the resulting string as part of a %XX pattern. Subsequent urlencodes will re-encode that % (and start mangling your original string beyond recognition).