当我发送一个包含UTF-8字符的URL时,这些字符是用PHP函数rawurlencode编码的。一旦我生成了我的URL,它就被传递给一个返回XML数据的Java web服务的CURL请求。
单词Chébé的编码示例是以Ch%C3%A9b%C3%A9的形式发送给web服务的,这是我所能说出的标准形式。我还尝试使用htmlentities函数将字符串转换为实体,然后使用rawurlencode对字符串进行编码。
由于显而易见的XML原因,该查询所匹配的示例中的项名称是实体形式的。
我的问题是,当发出请求时,web服务似乎失败了,并出现了500内部错误。所有其他字符串都可以。它只受UTF-8字符的影响。当我在浏览器中以实体形式(如Chébé)传递URL时,服务会返回结果,但当我传递浏览器URL编码形式时,它也会失败。我是不是漏掉了什么?
发布于 2012-10-20 03:06:09
谷歌用与q=Ch%C3%A9b%C3%A9相同的方式进行编码,所以...这是正确的。你在处理程序里做什么?假设您也控制了处理程序服务,如果所有其他方法都失败了,则Base64对其进行编码...
https://stackoverflow.com/questions/12980666
复制相似问题