ノードの中間層からJavaバックエンドにコールし、文字列をクエリのパラメータとして渡しています。英語以外のアルファベット文字が使用されるまで、すべてがうまく動作します(例:ř、ý)。 Javaはこれらの文字を受信した場合には、スロー:ノードからJavaへの呼び出しでutf8エンコーディングを実行する
はparse exception: org.eclipse.jetty.util.Utf8Appendable$NotUtf8Exception: Not valid UTF8!
この呼び出しは完璧に動作します:
GET http://localhost:8000/server/name?name=smith
この呼び出しは、上記のエラーで失敗します。
GET http://localhost:8000/server/name?name=sořovský
私の質問が含む場合、この問題に対処するために。 ノード用のthis utf8エンコーダが見つかりました。私の文字列をutf8としてエンコードすることを考えていました。 それは正しいアプローチですか、あるいは私はJava内で何かする必要がありますか?
{
...
accept: 'application/json, text/plain, */*',
'accept-encoding': 'gzip, deflate, sdch',
'accept-language': 'en-US,en;q=0.8,el;q=0.6',
...
}
Java側でこのエラーが発生した場合、入力はUTF-8で正しくエンコードされない可能性が高いため、ノード側で正しくエンコードしていない理由を調べる必要があります。詳細がなければ(コードはどのように見えるのですか?)、より詳細な答えを与えることは非常に難しいです。 – Jesper
@Jesper、ありがとう!私は私の質問に私の要求オプションを示す詳細を追加しました。 – MattDionis
あなたのURL(および潜在的なリクエストヘッダー)が何であるかについての詳細が必要です。リクエストヘッダーをキャプチャして質問に追加できますか? –