如果网址中含有汉字,浏览器会自动将其转换成URL编码,而在接收端,它又自动转换回来。

大部分时候都没什么问题,但有时候就很讨厌。因为生成这种URL编码,编码时的字符集和解码字符集不一定相同,比如编码时用GB2312,解码用UTF-8,就出现乱码。

这个时候,提取到的参数,自然就乱。

解决之道是不要用Request.QueryString来提取,而是用Request.RawUrl来获取。后者是原始URL,没有自动解码的。自己获取,自己处理。

//scode = Request.QueryString["word"];

int p = Request.RawUrl .IndexOf("word=");

string scode = Request.RawUrl.Substring(p + 5);

另,在浏览器的地址栏进行get传参时,浏览器会自动进行一次UrlDecode()的解码,然后才会传给程序使用,也就是会先解码一次,所以如果传输中文的参数时,应该进行2次UrlEncode()编码给浏览器,程序再用一次UrlDecode解码即可,亲身试验过,确实如此。

转载于:https://www.cnblogs.com/itjeff/p/7307558.html

浏览器自动转换URL编码产生乱码问题相关推荐

  1. python url中文转码_python实现中文转换url编码的方法

    本文实例讲述了python实现中文转换url编码的方法.分享给大家供大家参考,具体如下: 今天要处理百度贴吧的东西.想要做一个关键词的list,每次需要时,直接添加 到list里面就可以了.但是添加到 ...

  2. IE浏览器兼容之URL编码

    问题场景:文件上传,在谷歌里可以正常操作,IE浏览器操作出错,服务请求报错.HTTP 400 错误 - 请求无效 (Bad request) 问题分析:对比两个请求可以发现,二者的请求URL不一致.j ...

  3. c 语言url 编码转换,在线编码转换URL编码URL解码

    APP说明 url编码是一种浏览器用来打包表单输入的格式.浏览器从表单中获取所有的name和其中的值 ,将它们以name/value参数编码(移去那些不能传送的字符,将数据排行等等)作为URL的一部分 ...

  4. request技巧-utils的功能-cookie对象与字典的转换-URL编码与解码-关掉SSL验证

    响应cookie对象转字典 把响应的cookie转换为一个字典 真实访问百度时,百度给的cookie 把响应我们的cookie转换为一个字典 import requestsua = "&qu ...

  5. 常见编码及乱码的处理

    常见编码及乱码的处理 常见编码及乱码的处理 前言 一.字符集与编码 1.字符集简介 2.ASCII编码 3.Latin1字符集 4.UTF-8编码 5.字符集兼容性 6.文件编码从哪看? ASCII码 ...

  6. 大数据WEB阶段(十一)Ajax、URL编码

    Ajax与使用Ajax时产生的乱码问题-URL编码 (一)Ajax 一.Ajax详解 在学习HTTP协议的时候,我们知道,HTTP协议基于请求响应模型,一次请求对应一次响应,请求只能由客户端发出,服务 ...

  7. XCTF-攻防世界CTF平台-Web类——9、PHP2(.phps文件、url编码)

    先查看题目地址: 希望我们获得这个网站的权限,查看源代码也没有其他信息: 查看index页面: 之后尝试查看index.phps文件(.phps文件就是php的源代码文件,通常用于提供给访问者查看ph ...

  8. URL编码以及GET和POST提交乱码解决方案

    2019独角兽企业重金招聘Python工程师标准>>> 1.  什么是URL编码. URL编码是一种浏览器用来打包表单输入的格式,浏览器从表单中获取所有的name和其对应的value ...

  9. 火狐浏览器设置url编码_关于不同浏览器对URL编码的分析(转)

    转自:http://wdp107.iteye.com/blog/608786 先来看看三个url: url1. http://hi.baidu.com/爱宝的妍 url2. http://hi.bai ...

  10. php url gb2312 utf8,php实现utf-8与gb2312的url编码转换

    在现在的网页应用中,utf-8编码和gb2312编码是并存在的,例如百度(baidu.com)和谷歌(google.com)的url编码分别是gb2312编码和utf-8编码. 由于编码并存引起的乱码 ...

最新文章

  1. wampserver下安装redis_金山云redis安装与连接
  2. 福昕pdf编辑器 android,机PDF编辑器安卓/iOS哪家强?职场达人都在用
  3. 四. python的time和datetime 模块
  4. HEVC支持苹果HLS的几个关键问题
  5. 【2016年第6期】支持植物学大数据整合与公众服务的iFlora云平台建设
  6. Linux学习笔记五:arm-2009q3交叉编译环境安装、U盘拷贝文件到开发板
  7. 谷歌真是厉害,这次成了公敌!
  8. springboot如何对本地数据库增删改查_mysql数据库基本增删改查操作总结
  9. numpy在对数组进行“行过滤“的时候,使用集合运算函数比使用逻辑运算函数更简单
  10. cad尺寸标注快捷键_CAD快速标注方法你知道几种?
  11. 交通流特性(流速密)在断面、路段上的区别
  12. 一文小入门pyQt5 —— 从零到一完成一个Excel文件处理程序
  13. photoshop保存里没有html,PS中为什么没有存储为web格式?
  14. python矩阵运算函数_Numpy 常用矩阵计算函数
  15. LAPACK使用中出现问题的解决方案(VS平台下的)
  16. 翻转和旋转计算机教学,小学信息技术(上册)第15课图形翻转与旋转教学案例...
  17. 知识图谱数据管理:存储与检索
  18. Cordova 拨打电话_Cordova 项目开启拨打电话
  19. 关于程序员的20 幅幽默漫画,太真实了!
  20. si7051高精度温度传感器驱动程序

热门文章

  1. ANSI,UTF-8,Unicode,ASCII编码的区别
  2. 80后智能科技公司诚聘业务人员
  3. Spring Cloud Sleuth 使用教程
  4. STemWin5.22在STM32F103上的移植步骤
  5. 字符编码【utf8,unicode,ANSI,ascii】
  6. 【bzoj 1102】[POI2007]山峰和山谷Grz(BFS)
  7. Asp.Net MVC 控制器
  8. (转)windows 下 Java 及 Python 环境变量设置
  9. 绪论、关系数据库知识点总结
  10. vue学习(9)-路由守卫