いくつか例を挙げると、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エンコード形式で渡すと、同様に失敗します。ここで何かが足りませんか?