PHP CURL在URL中传递UTF-8字符

时间:2012-10-19 18:53:34

标签: php curl utf-8

当我发送包含UTF-8字符é和ú的URL时,仅举几例,这些字符使用PHP函数rawurlencode进行编码。生成URL后,它将传递给返回XML数据的Java Web服务的CURL请求。

单词Chébé的示例编码被发送到Web服务,作为Ch%C3%A9b%C3%A9,这是我能说的标准形式。我也尝试过htmlentities函数将字符串转换为实体,然后使用rawurlencode对字符串进行编码。

出于明显的XML原因,示例中与其匹配的查询的项名称是实体形式。

我的问题是,在发出请求时,Web服务似乎失败并出现500内部错误。所有其他字符串都没问题。它仅受UTF-8字符的影响。当我在浏览器中以像Chébé这样的实体形式传递URL时,服务会响应结果,但是当我传入我的浏览器URL编码形式时,它也会失败。我在这里错过了什么吗?

1 个答案:

答案 0 :(得分:0)

Google以相同的方式对其进行编码q = Ch%C3%A9b%C3%A9所以......这是正确的。你在处理程序中做什么?如果所有其他方法都失败,Base64会对其进行编码,假设您也控制了处理程序服务...