Я работаю над устаревшим кодом клиента веб-службы, в котором данные JSON отправляются в веб-службу. Недавно было обнаружено, что для некоторых запросов в теле JSON служба выдает ответ HTTP 400 из-за недопустимых символов (не UTF8) в теле JSON.
Ниже приведен один пример данные, которые вызывают проблему.
String value = "zu3z5eq tô‰U\f‹Á‹€z";
Я использую метод org.json.JSONObject.toString()
для генерации строки JSON. Подскажите, пожалуйста, как я могу убедиться, что строка JSON имеет кодировку UTF-8?
Я уже пробовал несколько решений, таких как доступные онлайн, таких как преобразование в байтовый массив и затем обратно, используя java методы charset et c, но они не работают. Либо они преобразуют действительные значения так же, как китайские / японские символы, либо не работают вообще.
Не могли бы вы предоставить какую-то информацию по этому вопросу?