【问题标题】:Cookie encodingCookie 编码
【发布时间】:2011-07-15 02:13:19
【问题描述】:

我的 cookie 编码有问题。饼干里面有一些法语字符。 Firefox 将它们正确发回,但 Chrome 似乎在发送它们时存在问题。 知道为什么会这样吗?

【问题讨论】:

    标签: firefox cookies google-chrome


    【解决方案1】:

    Chrome 的 cookie 中似乎不支持 Unicode:-/

    【讨论】:

    • Cookies在HTTP头中传输;它仅限于 ASCII。部分浏览器会发送非法数据;其他人会默默地放弃它。没有标准的 cookie 编码方式,但通常使用百分比编码。有关详细信息,请参阅spec
    【解决方案2】:

    正确的解决办法是

    1. 将法语字符串转换为UTF-8,然后
    2. 做百分比编码(也称为URL编码)见http://en.wikipedia.org/wiki/Percent-encoding

    这样您就可以通过 Cookie 提交任何 Unicode 字符串。

    在 C# 中有一个函数可以完成这两件事:System.Uri.EscapeDataString()

    【讨论】:

      猜你喜欢
      • 2010-12-04
      • 2012-04-29
      • 2016-05-01
      • 2013-06-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多