菜鸟教程小白 发表于 2022-12-13 17:08:31

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]
查看完整版本: php - apache header 中的欧元字符