url 传参的时候URL重写后乱码,不重写的没事
IIS7传参的时候
Response.Redirect("xianlusearch.aspx?key=" + HttpUtility.UrlEncode(txtlink.Value.Trim(), System.Text.Encoding.GetEncoding("GB2312")));
直接?key形式的传到那个页是
urlkey =Server.UrlDecode( Request.QueryString["key"].ToString());
这么就能解析出汉字
如果是按重写得url的话
Response.Redirect("/xianlusearch__________" + HttpUtility.UrlEncode(txtlink.Value.Trim(), System.Text.Encoding.GetEncoding("GB2312")) + "_1.html");
传过去的解析就是乱码了
我再web.config里加了默认字符了
<globalization requestEncoding="gb2312" responseEncoding="gb2312" culture="zh-CN" fileEncoding="gb2312" />
每个网页标头也加了格式
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
难道iis还要再设置默认字符?谁遇到过么。。解释下。。 --------------------编程问答--------------------
怎么统一个编码还是GB2312的
--------------------编程问答--------------------
我认为都统一了。。可只要url重写的传的的汉字,到接收页面。。就是乱码 --------------------编程问答-------------------- 改成这样呢?
Response.Redirect(HttpUtility.UrlEncode("/xianlusearch__________", System.Text.Encoding.GetEncoding("GB2312"))
+ HttpUtility.UrlEncode(txtlink.Value.Trim(), System.Text.Encoding.GetEncoding("GB2312"))
+ HttpUtility.UrlEncode("_1.html", System.Text.Encoding.GetEncoding("GB2312")));
--------------------编程问答--------------------
那接收是用Server.UrlDecode(); 还是HttpUtility.UrlDecod呢?? --------------------编程问答--------------------
这么传过去 比如传北京
路径就会是
http://localhost/%2fxianlusearch__________%b1%b1%be%a9_1.html
接收到的是鍖椾含 --------------------编程问答-------------------- 有人么。。。 --------------------编程问答-------------------- --------------------编程问答-------------------- --------------------编程问答-------------------- --------------------编程问答-------------------- 友情顶` --------------------编程问答-------------------- HttpUtility.UrlEncode(txtlink.Value.Trim(), System.Text.Encoding.GetEncoding("GB2312")).Trim();
试试
应该是有空格的问题吧!, --------------------编程问答--------------------
试过。。还是不行啊。。。 --------------------编程问答-------------------- 求人。。求指导。。 --------------------编程问答-------------------- 用utf-8 不就解决问题了 --------------------编程问答-------------------- 你非要在url上转码干嘛,在获取url参数后在转,有事与留言器也有关系,火狐就是
--------------------编程问答-------------------- 要么编码的时候 去掉编码格式 gb2312 或者在解码的时候也加上解码格式 gb2312
统一啊.... --------------------编程问答-------------------- 重写用的是IIS级别的还是.NET级别的?
如果是.NET级别的还真是奇怪了,不过可调试 --------------------编程问答--------------------
用的iis7的重写模块Rewrite。在web.config里配置路径
这两个有什么区别么。。 --------------------编程问答-------------------- escape(url)传过去 --------------------编程问答-------------------- 然后传到的那个页面正常接收 --------------------编程问答-------------------- 注意:escape不识别 + 这个符号。 --------------------编程问答-------------------- 使用了DEC加密了。把汉字传前加密,接收再揭秘。。可能会影响收录但是先能用了再说。。。 --------------------编程问答--------------------
Encoding.UTF8.GetString(Encoding.Default.GetBytes(txtlink.Value.Trim()))--------------------编程问答-------------------- --------------------编程问答-------------------- 乱码究竟是什么情况下的乱码,可否把乱码贴出来看看
因为在有些情况下IIS会在链接的最后加上IIS信息... --------------------编程问答-------------------- 刚看到楼主用的是加密解密解决的,
建议楼主使用编码解码的方式.
另外 搜索引擎是不喜欢链接中带有汉字的.
补充:.NET技术 , ASP.NET