当我发送一个包含 UTF-8 字符 é 和 ú 的 URL 时,这些字符使用 PHP 函数 rawurlencode 进行编码。一旦我生成了我的 URL,它就会被传递给一个 CURL 请求到一个返回 XML 数据的 Java Web 服务。
单词 Chébé 的示例编码以 Ch%C3%A9b%C3%A9 形式发送到 Web 服务,据我所知,这是标准格式。我还尝试了 htmlentities 函数将字符串转换为实体,然后使用 rawurlencode 对字符串进行编码。
出于明显的 XML 原因,与查询匹配的示例中的项目名称采用实体形式。
我的问题是 Web 服务在发出请求时似乎因 500 内部错误而失败。所有其他字符串都很好。它仅受 UTF-8 字符影响。当我在浏览器中以 Chébé 之类的实体形式传递 URL 时,服务会响应结果,但是当我以浏览器 URL 编码形式传递时,它也会失败。我在这里错过了什么吗?