You should add your charset into the Content-Type at least (the default is latin1):
request.setHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");
If that doesn't work, it could be a server bug. You may want to try submitting the form as multipart/form-data
(RFC 2388) instead of URL encoded. There is already a StackOverflow answer with an example that you can use.