2017-07-10 5 views
-1

応答でユニコード文字を認識させるには?例えば。 "テキストの開始":に変換する必要があります:(stackoverflowとWeblogicはデフォルトで行います)。Tomcat 8でユニコード文字を認識させる方法(例: "start of text"):

なぜTomcatは同じ機能を実行できませんか? これを呼び出すために使用している生成されたWebサービスクライアントではなく、これを設定する必要がありますか?

Axis 1.4のSAXパーサーは、応答でが見つかるとクラッシュし、少なくとも軸2はnullを返します。 SOAPメッセージとrpc/encoded wsdlsを使用しているため、私たちはWebサービスクライアントの生成に幅広く使用するツールを持っていません。

私は、HTTPクライアントを実装して、String:Axis 1.4 can't deserialize responseとしてデータを送受信するという考えを試しています。

私はこれを動作させるために何か他に何かありますか?

+0

java -vmを-Dfile.encoding = UTF-8で起動しようとしますか?それが試しに役立たないなら、-Dfile.encoding = ISO-8859-1を試してみてください。私はそれが奇妙に聞こえるのは分かっていますが、issues.apache.org/jira/browse/AXIS-2342の回避策としてその情報が見つかりました。たぶんあなたの場合に役立ちますか? – Arigion

+1

Tomcatはサーバーです。応答はクライアントによって読み取られます。したがって、Tomcatはそれとは関係ありません。 – EJP

答えて

1

Tomcatは、特にその文字に問題はありません。コード内のその文字をハードコードすると、実際には失敗しません。

は単なるXML/HTMLエンティティです。
文字nrをエンコードしています。 ASCIIテーブルでは、 "テキストの開始"である2。

はこちらをご覧 - ASCIIテーブルのhttp://www.asciitable.com/

最初の31の文字が制御文字であり、それは彼らがWebサービスに送信されて持っているあまり意味がありません。

Webサービスでこれらの文字を送信しないでください(データベース上のデータが不正であるか、コードに問題がある可能性があります)か、クライアント(Tomcat?)を取得してその文字をフィルタリングする必要があります。

関連する問題