Кодирование JMS TextMessage

Я получаю сообщения от очереди JMS MQ, которые являются, предположительно, utf-8 закодированный. Однако при чтении использования msgText = ((TextMessage)msg).getText(); Я получаю вопросительные знаки, где нестандартные символы присутствовали. Кажется возможным указать кодирование при использовании a bytemessage, но я не могу найти способ указать кодирование при чтении вслух TextMessage. Есть ли способ решить это, или если я нажимаю для bytemessages?

6
задан Ivan Aracki 30 October 2018 в 12:04
поделиться

1 ответ

Мы попытались добавить Dfile.encoding = "UTF-8" в jvm Websphere , и мы добавлено

source = new StreamSource(new ByteArrayInputStream(
     ((TextMessage) msg).getText().getBytes("UTF-8")));

в наш MessageListener . У нас это сработало, поэтому мы убрали бит Dfile.encoding , и он по-прежнему работает для нас.

Из-за предпочтительной минимальной конфигурации для Websphere мы решили оставить это так, также принимая во внимание, что мы можем легче переключить строку UTF-8 с помощью настройки из файла или база данных.

4
ответ дан 17 December 2019 в 04:42
поделиться
Другие вопросы по тегам:

Похожие вопросы: