1

いくつか例を挙げると、UTF-8文字のéとúを含むURLを送信すると、文字はPHP関数rawurlencodeでエンコードされます。URLを生成すると、XMLデータを返すJavaWebサービスへのCURLリクエストに渡されます。

Chébéという単語のエンコード例は、Ch%C3%A9b%C3%A9としてWebサービスに送信されます。これは、私が知る限りの標準形式です。また、htmlentities関数を使用して文字列をエンティティに変換し、rawurlencodeで文字列をエンコードしてみました。

照合するクエリの例内のアイテム名は、明らかなXMLの理由からエンティティ形式です。

私の質問は、リクエストを行うときにWebサービスが500内部エラーで失敗するようです。他のすべての文字列は問題ありません。UTF-8文字の影響のみを受けます。Chébéのようなエンティティ形式でブラウザ内にURLを渡すと、サービスは結果で応答しますが、ブラウザのURLエンコード形式で渡すと、同様に失敗します。ここで何かが足りませんか?

4

1 に答える 1

0

グーグルはそれをq=Ch%C3%A9b%C3%A9と同じ方法でエンコードするので...それは正しいです。ハンドラーで何をしていますか?ハンドラサービスも制御していると仮定して、他のすべてが失敗した場合は、Base64でエンコードします...

于 2012-10-19T19:06:09.220 に答える