2

我们有基于 codeigniter 的 iphone 应用程序使用的 Web 服务,参数通过标头传递。一切正常,直到参数值中有一个欧元(€)符号。每当从 iphone 发送的参数有欧元符号时,它就会被截断。有什么想法我做错了或者我们应该怎么做?

4

1 回答 1

3

根据 RFC(RFC 2616,如果您有兴趣),您不能在 HTTP 标头中发送非 ASCII 字符。据我所知,当您这样做时会发生未定义的情况-您的服务器似乎丢弃了标题的其余部分。

您需要在发送前对标头的值进行 URL 编码(将特殊字符替换为 %XX 字符串,正如您经常在浏览器的地址栏中看到的那样)。

要在 iPhone 上正确执行此操作,请参阅此帖子。在 PHP 端,urldecode()将允许您检索原始标头。

于 2012-10-15T12:57:45.320 回答