powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Изменение кодировки сообщений в MQ
4 сообщений из 4, страница 1 из 1
Изменение кодировки сообщений в MQ
    #39800811
Timein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день!
Насколько я понимаю, сообщения в MQ по умолчанию пишутся в кодировке UTF-8. Можно ли как-то это изменить?
Необходимо из java-приложения закинуть сообщение в другой кодировке
...
Рейтинг: 0 / 0
Изменение кодировки сообщений в MQ
    #39800818
Фотография Новый Год
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
-> Насколько я понимаю, сообщения в MQ по умолчанию пишутся в кодировке UTF-8

нет, кодировка по умолчанию берется из настроек queue manager-а
echo "DISPLAY QMGR CCSID" | runmqsc QMGR

->Можно ли как-то это изменить?
можно
echo "ALTER QMGR CCSID(1251)" | runmqsc QMGR

>Необходимо из java-приложения закинуть сообщение в другой кодировке
кодировка должна соответствовать сообщению. лучше при отправке сообщения не использовать дефолтные настройки, а указать реальную кодировку

а при вычитке попросить queue manager сконвертировать сообщение в ту кодировку, которую нужно
...
Рейтинг: 0 / 0
Изменение кодировки сообщений в MQ
    #39800880
Timein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Новый Год-> Насколько я понимаю, сообщения в MQ по умолчанию пишутся в кодировке UTF-8

нет, кодировка по умолчанию берется из настроек queue manager-а
echo "DISPLAY QMGR CCSID" | runmqsc QMGR

->Можно ли как-то это изменить?
можно
echo "ALTER QMGR CCSID(1251)" | runmqsc QMGR

Дело в том, что доступа непосредственно к queue manager-у у меня нет.
Однако, насколько я понимаю, на MQ было все настроено нормально, так как раньше сообщения приходили в нужной кодировке.
Сейчас в java-приложении поменяли библиотеку для mq и сбилась кодировка.

Новый Год>Необходимо из java-приложения закинуть сообщение в другой кодировке
кодировка должна соответствовать сообщению. лучше при отправке сообщения не использовать дефолтные настройки, а указать реальную кодировку
Реальную - это ту, в которой изначально создавалось сообщение?

На сайте IBM я нашел статью ( https://www.ibm.com/support/knowledgecenter/SSFKSJ_8.0.0/com.ibm.mq.dev.doc/q032120_.htm)
Насколько я понимаю, там рекомендуется сделать следующее:
Код: java
1.
2.
String codePage = CCSID.getCodepage(37);
message.setIntProperty(WMQConstants.JMS_IBM_CHARACTER_SET, codePage);
...
Рейтинг: 0 / 0
Изменение кодировки сообщений в MQ
    #39800967
Фотография Новый Год
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
кодировка устанавливается в дескрипторе сообщения MQMD так

MQMD.Format = 'MQSTR'
MQMD.CodedCharSetId = кодировка
осталось корректно смапить проперти из java API на поля MQMD

статье почему-то JMS сообщение
JMS в MQ это собственно сообщение + MQRFH2 заголовок
то есть перед текстом сообщения в него вставлена специальная хрень

тогда будет так

MQMD.Format = 'MQHRF2 '
MQMD.CodedCharSetId = 1208

MQRFH2.CodedCharSetId = твоя кодировка
MQRFH2.Format = 'MQSTR'

посмотри по спеке java API что куда мапится
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Изменение кодировки сообщений в MQ
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]