我正在接收來自jms mq隊列的消息,這些消息應該是utf-8編碼的。然而,在使用msgText =((TextMessage)msg)讀取輸出.getText(); 我收到了非標準字符存在的問題標記。在使用字節消息時指定編碼似乎是可能的,但我無法找到在讀出TextMessage時指定編碼的方式。有沒有辦法解決這個問題,或者我應該按字節消息?對JMS TextMessage進行編碼
回答
我們嘗試添加Dfile.encoding="UTF-8"
到Websphere
的JVM,我們加入
source = new StreamSource(new ByteArrayInputStream(
((TextMessage) msg).getText().getBytes("UTF-8")));
在我們MessageListener
。這對我們很有用,所以我們拿出了Dfile.encoding
一點,它仍然適用於我們。
由於Websphere
的首選最小配置,我們決定以這種方式離開,同時考慮到我們可以更容易地通過文件或數據庫的設置來切換UTF-8
字符串。
謝謝,傑瑞博士:使用StreamSource爲我們工作。我們的XML消息從TIBCO JMS隊列中讀取,然後用JAXB API解組:\t \t \t的JAXBElement
如果文本沒有正確解碼,那麼客戶端可能不是用utf-8編解碼器發送消息;這應該工作:
byte[] by = ((TextMessage) msg).getText().getBytes("ISO-8859-1");
String text = new String(by,"UTF-8");
這對我們不起作用。傑瑞博士指出,使用StreamSource類工作的是什麼。 – Erikson 2014-03-28 16:10:39
- 1. Spring JMS TextMessage寫入到PDF
- 2. JMS的WebSphere MQ BytesMessge和TextMessage的
- 3. JMS TextMessage itext PDF頭標籤找不到
- 4. 對文件進行編碼
- 5. 對泛型進行編碼
- 6. 對字符進行編碼
- 7. 對URL進行URL編碼
- 8. 對網頁進行編碼
- 9. 對javascript對象進行編碼/混淆
- 10. 如何使用TextMessage將XML文件發送到JMS隊列?
- 11. 使用JMS從Oracle AQ收到的TextMessage包含'???'
- 12. JMS TextMessage - 部署到WebLogic後無法工作
- 13. 對錶格進行硬編碼以便用戶無法對其進行編輯
- 14. 對URI參數進行編碼
- 15. 如何對即時值進行編碼?
- 16. 如何對選擇器進行編碼?
- 17. 在rails中對html進行編碼
- 18. 在flash中對cmyk jpeg進行編碼
- 19. PHP json_encode對函數進行編碼
- 20. 對SWF進行編碼簽名?
- 21. 對文件路徑進行編碼
- 22. 使用GStreamer對AC3進行編碼
- 23. 在HTML4中對視頻進行編碼
- 24. 如何對實體進行JSON編碼?
- 25. MvcHtmlString.ToHtmlString()不對HTML進行編碼?
- 26. 對地圖進行地理編碼
- 27. 如何對文件名進行編碼?
- 28. solrj是否對內容進行編碼?
- 29. File.toURI不對加號進行編碼
- 30. 如何對JavaScript文件進行編碼?
您使用哪個JMS傳輸?你傳遞XML消息嗎?您正在使用哪個平臺並從哪個平臺生成消息? – 2010-06-04 11:57:48
我們在Websphere MQ上,消息是XML,encoding =「UTF-8」 – 2010-06-07 06:25:29
我不確定哪個平臺正在生產,但我們正在使用在solaris上運行的Websphere。不幸的是,我們完全不知道mq的實現,因此我不能給出一個版本號。 – 2010-06-07 06:29:00