Apache Camel, RabbitMQ, специальный символ преобразован в вопросительный знакJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Apache Camel, RabbitMQ, специальный символ преобразован в вопросительный знак

Сообщение Anonymous »

Иметь строку "x ° xx", которую Rabbitmq выписывает как "x? xx" < /p>
Я понимаю, что это происходит, когда вы транслируете строку в байты с одним utf- charset utf- 8.
и напишите байты обратно в строку, используя другой Charset, такой как US_ASCII. >

Код: Выделить всё

from(requestUrl)
.routeId(JourneyConstants.BACKEND_ROUTE_ID)
.routeProperty(CommonConstants.ROUTE_TYPE, RouteIdGenerator.RouteType.AMQP_CONSUMER.name())
.log(JourneyConstants.BACKEND_ROUTE_ID +" Received, payload ${body} and headers, ${headers}")
.removeHeader(JourneyConstants.CONTENT_LENGTH) // Due to a new ISTIO we had to remove the content length header
.setExchangePattern(ExchangePattern.InOnly)
.setHeader(CommonConstants.JOURNEY_NAME, constant(JourneyConstants.JOURNEY_NAME_VALUE))
.setHeader(Exchange.CONTENT_TYPE, constant("application/json;charset=utf-8"))
.convertBodyTo(String.class)
.setProperty(CommonConstants.ORIGINAL_MESSAGE, body())
.setProperty(CommonConstants.BACKEND_URL, constant(backendUrl))
.setProperty(CommonConstants.FAILURE_QUEUE_URL, constant(queueUrls))
.setProperty(CommonConstants.CODES_TRANSIENT_QUEUE, constant("50[0-9]|40[1,3,4,8]"))
.setProperty(CommonConstants.CODES_PERSISTENT_QUEUE, constant("4[0,2,5,6,7,9]"))
.convertBodyTo(String.class)
.setHeader(CommonConstants.USE_HEADER_STRATEGY,constant("true"))
.setHeader(CommonConstants.HMRC_ASSETS_OPERATION_TYPE, constant(CommonConstants.VALIDATION_JSON))
.toD(assetEndpointUrl)
< /code>
Итак, у нас есть < /p>
.setHeader(Exchange.CONTENT_TYPE, constant("application/json;charset=utf-8"))
< /code>
и < /p>
.convertBodyTo(String.class)
Но поскольку у меня все еще есть символ?
Нужно ли мне
установить setProperty, чтобы убедиться, что ConvertBodyTo(String.class) использует charset=utf -8
Спасибо за любую помощь

Подробнее здесь: https://stackoverflow.com/questions/793 ... stion-mark
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»