



下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、URL 中包含中文参数造成乱码的解决之道中文乱码一直以来是WEB开发中比较常见的问题之 一,对于初学者来说,各种各样的编码方式可能会有点不适 应,本篇文章并不讲述这些编码,而是把自己遇到的一个小 问题以及该问题的解决之法说明一下,希望对大家有用。 问题: 前段时间,在系统中做了一个类似于友情链接的 功能块,一直运行良好,直到有一天加了类似于以下的链接 地址: 水天,就出现大问 题了:1、从IE地址栏中直接输入这个地址,访问没错; 2、做一个静态页,其中包括这个超链接,点击访 问也没错;3、就是把这个链接添加到这个功能块中,点击访问那边接收到的是乱码。一开始,被这个问题也搞得头大,在 googl
2、e 了一把后,总算是把问题给搞清楚了, 其实只要这个链接地址不经过任何编码传递是不会有问题 的。但就是加到了这个功能块后,再点击,虽然这个时候在 IE地址栏里显示的还是水天,但真正传递过去的参数 水天 其实已经经过类似于 Server.UrlEncode 的操作了,当然默认是 utf-8 编码,正是由 于这个原因,如果对方系统不进行相应的解码,直接操作该 参数,就产生了以上的错误。解决方法:网上有很多解决之道,最常见的莫过于以下几点:、在web.config 里配制 <globalization requestEncoding=gb2312 responseEncoding=gb2312
3、 /> ,这个方法确实可行,但我 想很多人不想用这种方法来解决,把整个项目的请求和回应 都定为gb2312,我觉得不是一个好办法,有点本末倒置了, 毕竟这会导致很多其它问题的出现。2、把要包含该链接的aspx文档,修改其 charset属性为gb2312。这个方法到 也可以接受,不过对于该文中的问题还不是最好的方法,因 为该功能块是可以动态添加到任何页面的,难道要去修改所 有的页面?想想还是不太合适。3、直接用Server.UrlEncode 和 Server.Decode 进行加码和解码操作,这 种方法对于发送方和接收方都在一个项目中是可行的,现在 的问题是,我们要随意去访问别人的系统
4、,所以只能弃用此 方法了。4、采用 对链接中的 参数值进行 gb2312 的编码,这种方法,对方不 用进行任何解码操作,直接接收参数则不会出现乱码。一般提到最多的也就上面4种方法,其它的也跟这些大同 小异。仔细分析后,觉得还是第4种方法最适合解决当前问 题,把中文参数进行如4中的操作。但又出现 另外一个问题,由于这是一个用户可以自由输入链接地址的 功能,所以首先要做的就是得先分析这些链接URL,解析出参数,再对这些参数进行4中操作,然后再合拼成原来的URL地址。幸亏,URL参数解析C #已经有类库的支持,不用再去写那些复杂的正则表达式来匹 配了。这里我也不详细说了, 直接贴出原码: publi
5、c static string InitChineseUrl(string chineseUrl)Uri url = new Uri(chineseUrl);nv = string query = ;for (int i = 0; i < nv.Count; i+)if (query.Trim() = string.Empty)query = ? + nv.Keysi + = + HttpUtility.UrlEncode(nvi,elsequery += & + nv.Keysi + = +HttpUtility.UrlEncode(nvi,string u = chineseUrl.Split(?)0 + query;return u; 这里我是把所有的参数
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 出售园林铺面合同范本
- 保洁物料供货合同范本
- 企业策划宣传合同范本
- 农机割台租售合同范本
- 出口螺杆验货合同范本
- 公司分期手机合同范本
- 企业职员培养合同范本
- 企业终止租赁合同范本
- 化粪池安装合同范本
- 2024年深圳市南山区蓓蕾幼教集团招聘考试真题
- 杭州市淳安县国有企业招聘笔试真题2024
- 安徽省芜湖市2024-2025学年第一学期期末考试七年级语文试卷(含答案)
- 2024政府采购评审专家考试真题库及答案
- 2024年花盆市场分析现状
- 2025山东省退役军人事务厅所属事业单位招聘人员历年高频重点提升(共500题)附带答案详解
- 2024年社区工作者考试时事政治模拟题及答案
- 物业服务行业礼仪培训
- 退市新规解读-上海证券交易所、大同证券
- 教育部中国特色学徒制课题:现代职业教育体系建设背景下中国特色学徒制治理体系与资源配置研究
- 22陈涉世家 司马迁 公开课一等奖创新教学设计 度部编版初中语文九年级下册
- 外墙真石漆施工方案
评论
0/150
提交评论