Specifically, it's encoding characters with an umlaut as two characters.
let unencoded = "könnten"
let encoded = unencoded.stringByAddingPercentEncodingWithAllowedCharacters(NSCharacterSet.URLQueryAllowedCharacterSet())!
Ideally, the server should cope with both precomposed and decomposed strings. But if necessary, you can precompose the string on the client side:
let unencoded = "könnten" let encoded = unencoded.precomposedStringWithCanonicalMapping .stringByAddingPercentEncodingWithAllowedCharacters(.URLQueryAllowedCharacterSet())! print(encoded) // k%C3%B6nnten
See Technical Q&A QA1235 – Converting to Precomposed Unicode for more information.