MQ 字符格式、編碼和CCSID的問題

問題描述:

用java寫了一個向MQ隊列發送消息的程序,MQEnvironment.CCSID = 1381並且隊列的CCSID也是1381。但是在WebSphere MQ資源管理器中瀏覽隊列消息時,發現數據的格式是空白,CCSID是819,編碼是273。並且消息裏面的中文都是亂碼。折騰了一下午終於找到問題的根源,原來是MQMessage這個類在作怪。它繼承了MQMD這個類,這個類包含發送消息的控制信息。其中就包含上述三個屬性的配置,默認值就是上面給出的,詳細信息請查閱官方文檔。

 

解決方法:

 

// Define a simple WebSphere MQ Message ...

MQMessage msg = new MQMessage();

msg.encoding = 546;

msg.characterSet = 1381;

msg.format = MQConstants.MQFMT_STRING;

 

問題總結:

官方文檔相當的不靠譜,數據不好聽的網絡語“坑爹呢”。文檔中給出encoding屬性的宏中根本就沒有對應546的定義,characterSet 屬性的宏也沒有對應1381的定義

 

官方文檔:http://publib.boulder.ibm.com/infocenter/wmqv7/v7r0m0/index.jsp?topic=%2Fcom.ibm.mq.doc%2Fhelp_home_wmq.htm

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章