【发布时间】:2011-03-29 09:54:27
【问题描述】:
我正在尝试上传一个 xml (UTF-8) 文件并将其发布到 Jboss MQ 上。从侦听器读取文件时,UTF-8 字符仅在 Linux 上运行的 Jboss (jboss-5.1.0.GA-3) 实例中格式不正确。
例如:BORÅS 在 Linux jboss 实例中转换为 BOR¿S。
当我复制并配置相同的 jboss 实例以在 Windows (SP3) 上运行时,它可以完美运行。
我还通过在 .bashrc 和 run.sh 文件中包含 JAVA_OPTS=-Dfile.encoding=UTF-8 来更改 Linux 中的默认设置。
在侦听器中 JbossTextMessage.getText() 带有错误指定的字符。
有什么建议或解决方法吗?
【问题讨论】:
-
请提供有关如何上传文件的确切信息。
-
我已经暴露了一个jsp来使用post方法上传一个xml文件。我将使用 Action 类中的 struts 将文件作为 FormFile 获取,如下所示: FormFile file = theForm.getFile();其次,我将文件数据检索为字节数组 byte[] buf = file.getFileData();最后,我在 Jboss (jboss-5.1.0.GA-3) 的队列中发布。
-
流程如下:(1)上传XML ---> (2)从文件中获取byte[] ---> (3)放到JMS队列中---> (4) 由 MDB 选择进行处理。当从侦听器收到发布的消息时,我尝试将其转换如下但没有用: ((TextMessage) message).getText().getBytes("UTF-8")
标签: unicode jboss jms message-driven-bean mq