我们有基于codeigniter的iphone应用程序使用的Web服务,参数通过标头传递。一切都运行良好,直到参数值中有一个欧元(€)符号。每当从iphone发送的参数都有欧元符号时,它就会被截断。 我做错了什么或我们应该如何做的任何想法?
答案 0 :(得分:3)
根据RFC(RFC 2616,如果您感兴趣),您无法在HTTP标头中发送非ASCII字符。据我所知,当你这样做时,会发生什么,未定义 - 看起来你的服务器会丢弃标题的其余部分。
您需要在发送之前对标头的值进行URL编码(用%XX字符串替换特殊字符,正如您在浏览器中的地址栏中经常看到的那样)。
要在iPhone上正确执行此操作,请参阅此post。在PHP端,urldecode()
将允许您检索原始标题。