Как обрабатывать расширенные символы ascii в Java rest API - PullRequest
0 голосов
/ 06 мая 2020

У меня есть Java API, написанные с использованием Java библиотеки Jersey. Один из запросов POST API принимает комментарии от пользователя, которые могут быть на нескольких языках. Один из языков, на котором мне нужен API, - чешский. API принимает комментарий в строке, но не все символы читаются / кодируются должным образом, например, если параметр комментария, отправленный в запрос API, - "comment": "ffáňčšď", но в конечной точке сервера не все символы закодированы правильно, т.е. комментарий получен как «ffá ?? š?». Я использую «UTF-8» для преобразования и Java версии 1.8. Итак, как мне обработать кодировку, чтобы получить точную строку, отправленную в качестве параметра запроса? Заранее спасибо ..

Ответы [ 2 ]

0 голосов
/ 19 мая 2020

Добавление charset = utf-8 в заголовок как 'application / json; charset = utf-8 'для ключа Content-Type устраняет проблему.

Below image refers to the issue fix

0 голосов
/ 17 мая 2020

Какой инструмент вы используете для вызова конечной точки? Я предполагаю, что приложение, в котором вы используете вызов, конечная точка не использует UTF-8 для декодирования символов. Если вы пытаетесь вызвать конечную точку из Postman, а кодировка по умолчанию в Postman установлена ​​на кодировку ASCII, используемая вами строка не будет правильно декодирована Postman, потому что эти специальные символы не являются частью набора символов ASCII, что означает, что он будет замените эти символы на '?'.

...