2016-10-10 7 views
0

雰囲気フレームワークを使用していくつかの特殊文字をストリーミングする際に問題に直面しています。大気を使用してガベージ文字としてストリームされたUnicode文字

雰囲気バージョン:2.1.0-RC2

のJava:ÆⱭÐƎəɛɣIIJƖŊŒƆƱK」SẞÞƲǷȜ」などの7つの

一部のUnicode文字"大気を使って適切にストリーミングしていない。

サーバーサイドからストリーミングする前に、AtmosphereResource CharacterEncodingをUTF-8に設定しています。

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

これらの文字はどのようにアプリケーションに格納されていますか?テキストファイルやソースコードで – nandsito

+0

JMSトピックからメッセージを取得しています。 –

+0

あなたが受け取ったASCII以外の文字が予想されるエンコーディングになっていることを確認してください。そうしないと、テキストの到着時にエンコーディングを変換する必要があります – nandsito

答えて

0

私は大気の枠組みに精通していませんが、回避策としてMgntUtilsライブラリを使用することをお勧めします。このライブラリには、任意の文字列を取り込み\ UXXXX形式のUnicodeエンコーディングの文字列に変換してから変換できるUnicodeエンコーダ/デコーダユーティリティがあります。だから問題のある文字列をUnicodeのシーケンスとして渡してから変換し直すことができます。それは私が解決し、いくつかのトリッキーなエンコーディングの問題を診断するのに役立ちました。ここにライブラリへのリンク:GitHub(jars、sources、javadoc API)、Maven Central、そして最後にライブラリ内のUtilsの使い方を説明する記事:MgntUtils article。記事では、字幕 "文字列Unicodeコンバータ"を検索します。それを統合して使用するのはとても簡単です。

関連する問題