zoukankan      html  css  js  c++  java
  • 保存cookie时编码问题

    项目中某些过滤条件需要persist,故可以放入Cookie中来实现。一般都没啥问题。

    但是项目里有些人名是德文的,populate的时候就出现问题了。

    存的时候:Biesenbach, Frank-Germany-Düsseldorf

    来的时候:Biesenbach, Frank-Germany-Düsseldorf

    显然是cookie编码的问题。

    解决方案是:

    1.确认webconifg中全局设置是否正确

    <globalization requestEncoding="utf-8" responseEncoding="utf-8"/>

    2.如果已经设置成utf-8的话,直接使用UrlEncode和UrlDecode来保存和取出Cookie值即可

    HttpUtility.UrlDecode(Request.Cookies["XXX"].Value)
    Response.Cookies["XXX"].Value = HttpUtility.UrlEncode(xxx)

    3.如果网站全局设置是gb2312的话。需要再加一层处理了

    Encoding encoding = Encoding.GetEncoding("UTF-8");
    HttpUtility.UrlDecode(str,encoding);

    存的时候不需要加一层处理,直接UrlEncode(如上)即可。

  • 相关阅读:
    Linux 环境变量 设置 etc profile
    Linux 升级glibc-2.14 失败 我遇到的问题
    qt窗口的切换
    qt事件机制---事件范例
    qt中的事件机制
    qt的信号与槽函数
    linux下qt的安装
    qt中的udp编程
    qt中的tcp编程
    qt中的多线程
  • 原文地址:https://www.cnblogs.com/cqcmdwym/p/3092587.html
Copyright © 2011-2022 走看看