From the builtin services reference:
encoding String Optional.
Character set in which the URL data parameters are
encoded (args or table and/or string). Encoding is required to
correctly convert the String object to bytes when generating the URL
for a post. Specify an IANA-registered character set (for example,
If this variable is null, the default JVM encoding is used. Because
string is used in the body of the post and not used for building the
URL, you do not need to specify encoding for the data parameter
So, if you are passing the data to be transfered over http in the ‘string’ variable the behavior you see is as expected.