• Url编码,查询字符串中文出现乱码问题


    最近在Web程序中遇到url编码问题,对于中文会出现乱码,困扰了我半天,在网上查了一下相关资料,自己也测试了一下:

    string str0, str1, str2, str3, o1, o2, o3, o4;

    //str0 和str1 结果是一样,页默认用utf-8进行编码
    str0 = Server.UrlEncode("广东省"); //'%e5%b9%bf%e4%b8%9c%e7%9c%81
    str1 = HttpUtility.UrlEncode("广东省");//%e5%b9%bf%e4%b8%9c%e7%9c%81

    //用gb2312 进行编码
    str2 = HttpUtility.UrlEncode("广东省", Encoding.GetEncoding("gb2312"));//%b9%e3%b6%ab%ca%a1

    //用gb2312 对 str2 进行解码
    o1 = HttpUtility.UrlDecode(str2, Encoding.GetEncoding("GB2312"));//广东省

    //用utf-8 对 str0或str1 进行解码

    o2 = HttpUtility.UrlDecode(str0, Encoding.GetEncoding("utf-8"));//广东省

    //可以从NameValueCollection集合中获取查询字符串

    NameValueCollection parames = HttpUtility.ParseQueryString(Request.Url.Query, Encoding.GetEncoding("utf-8"));
    p = parames.Get("p");

    //不同浏览器默认url编码可能不一样,有时用服务器端方法可能可以避免对不同浏览器进行编程.

    根据不同浏览器进行解码

  • 相关阅读:
    比赛-h47学长的训练赛 (27 Aug, 2018)
    比赛-OBlack学长的训练赛2 (26 Aug, 2018)
    比赛-OBlack学长的训练赛 (25 Aug, 2018)
    比赛-xxxxxyt学姐的训练赛 (25 Aug, 2018)
    比赛-一场训练赛
    比赛-wxh学长的训练赛 (23 Aug, 2018)
    比赛-sparrow学长的训练赛2 (22 Aug, 2018)
    深入JVM内核--JVM简介
    GitHub之初始化
    B-Tree索引
  • 原文地址:https://www.cnblogs.com/lyfblog/p/1980158.html
Copyright © 2020-2023  润新知