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