我们有基于 codeigniter 的 iphone 应用程序使用的 Web 服务,参数通过 header 传递。一切正常,直到参数值中有一个欧元(€)符号。每当从 iphone 发送的参数有欧元符号时,它就会被截断。
有什么想法我做错了或者我们应该怎么做?
Best Answer-推荐答案
根据 RFC(如果您有兴趣,请参阅 RFC 2616),您不能在 HTTP header 中发送非 ASCII 字符。据我所知,当您这样做时会发生未定义的情况 - 您的服务器似乎丢弃了标题的其余部分。
您需要在发送前对 header 的值进行 URL 编码(将特殊字符替换为 %XX 字符串,正如您经常在浏览器的地址栏中看到的那样)。
要在 iPhone 上正确执行此操作,请参阅 post .在 PHP 端,urldecode() 将允许您检索原始标题。
关于php - apache header 中的欧元字符,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/12894428/
|