Linux 中 JbossTextMessage Unicode 转换失败
我正在尝试上传 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() 内部带有错误指定的字符。
有什么建议或解决方法吗?
I'm trying to upload a xml (UTF-8) file and post it on a Jboss MQ. When reading the file from the listener UTF-8 characters are not correctly formatted ONLY in the Jboss (jboss-5.1.0.GA-3) instance running on Linux.
For an instance: BORÅS is converted to BOR¿S at Linux jboss instance.
When I copy and configure the same jboss instance to run at Windows (SP3) it works perfectly.
Also I have change the default setting in Linux by including JAVA_OPTS=-Dfile.encoding=UTF-8 in .bashrc and run.sh files.
inside the Listener JbossTextMessage.getText() is coming with incorrectly specified character.
Any suggestions or workarounds ?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
最后我找到了一个解决方案,但该解决方案仍然是一个黑匣子。如果有人知道为什么失败/成功的答案,请更新线程。
解决方案一览:
1.将文件内容捕获为字节数组,并使用 FileOutputStream 将其写入 jboss tmp 文件夹中的 xml 文件
代码示例:
View:带有 FormFile
Controller Class 的 JSP 页面:UploadAction.java
Foot 注意: 我认为这与 Linux 有关/Windows 默认文件保存类型。例如:Windows 默认:ANSI。
Finally I was able to find a solution, BUT the solution is still a blackbox. If anyone have the answer to WHY it has failed/successful please update the thread.
Solution at a glance :
1. Captured the file contents as a byte arry and wrote it to a xml file in jboss tmp folder using FileOutputStream
Code example:
View: JSP page with a FormFile
Controller Class :UploadAction.java
Foot Note: I think it is something to do with the Linux/Windows default file saving type. eg: Windows default : ANSI.