2016-10-10 31 views
0

我在使用大气框架传输某些特殊字符时遇到了问题。Unicode字符作为使用大气的垃圾字符流式传输

气氛版本:2.1.0-RC2

的Java:7个

一些Unicode字符,像“AEɑdƎəɛɣ我IJƖňŒƆƱ-k的ẞÞƲǷȜ “使用大气不能正确流动。

我将AtmosphereResource CharacterEncoding设置为UTF-8,然后从服务器端进行流式传输。

res.setContentType("text/plain"); 
res.setCharacterEncoding("UTF-8"); 
+0

这些字符是如何存储在应用程序中的?在文本文件或源代码? – nandsito

+0

我们从JMS主题获取消息。 –

+0

确保您收到的非ASCII字符处于预期的编码中,否则您将不得不在文本到达时转换编码 – nandsito

回答

0

我不熟悉大气框架,但作为解决方法,我可以建议使用库MgntUtils。该库具有一个Unicode编码器 - 解码器实用工具,可以接受任何字符串并将其转换为\ UXXXX格式的Unicode编码字符串,然后将其转换回来。因此,您可以将您有问题的字符串通过然后转换为Unicode序列,然后将其转换回来。它帮助我解决和诊断一些棘手的编码问题。这里链接到库:GitHub(jar,sources和javadoc API),Maven Central,最后一篇文章解释了如何在库中使用这些Utils:MgntUtils article。在文章中查找字幕“字符串Unicode转换器”。整合和使用它非常容易。