Getting 400 error (Bad Request) when hitting api response contains umlaut (german language) as one of the parameter

I happened to come back to this problem. I could reproduce how you got the garbled display. Please see the following test case script.

import java.nio.charset.StandardCharsets

String germanString1 = 'zür'
byte[] encodedBytes = germanString1.getBytes(StandardCharsets.UTF_8);
String decodedString = new String(encodedBytes, StandardCharsets.ISO_8859_1);
println(germanString1 + " -> " + decodedString)

When I ran this, I got the following output in the log:

2020-12-28 22:13:55.299 DEBUG testcase.TC2                             - 4: println(germanString1 + " -> " + decodedString)
zür -> zür

You can find zür in the screenshot (in the Response body) as well. This proves, some portion of your software has a bug; but I have no clue to identify which particular portion of your software has this problem.

I guess as follows:

Katalon Studio uses utf-8 for character encoding. You can see the reason in the post “Katalon.ini should speciify -Dfile.encoding=utf-8 - #10 by kazurayam”.

So the zür character string in UNICODE, which you typed in the GUI, is encoded into byte in the Request object using UTF-8. The request object carries that byte to your web app.

Your web app received the request and decoded the byte in the Request object using mistakenly in ISO-8859-1; at this timing the umlaut character is garbled: the umlaut character in utf-8 is decoded into a strange UNICODE character ü.