You can see in the later example the encoding is "%3f" which, when unencoded is equal to a question mark "?", not the input character of 312 (0x138).

In a nutshell there is nothing wrong with encoding "ß" as "%c3%9f", to the contrary, it is the correct representation. Yet if you must have the encoding "%DF for the remote server to correctly decode it, then use the 1252 codepage as shown.

The ß character is encoded as %c3%9f when using the UTF-8 encoding. This is what you should be using, if possible.

If your target webserver uses some other encoding, you need to know exactly what encoding that is. Since you want to encode that character into %df that could be Windows-1252 or Windows-1250 (or possibly others).

If you're sure this is what you want to do, you can use (assuming Windows-1252):