==奇怪了,url中文参数乱码的问题==
--------------------编程问答-------------------- 编码问题!参数事先编码下!!! --------------------编程问答-------------------- 对方就是传这样的参数过来,郁闷的是别的系统是能正常接收 --------------------编程问答-------------------- 设置Temp.aspx页面的Encoding<%@ Page RequestEncoding="GB2312" ResponseEncoding="GB2312" %>
*****************************************************************************
签名档: http://feiyun0112.cnblogs.com/ --------------------编程问答-------------------- 新人,,不太懂 --------------------编程问答--------------------
确认你试成功,我测试还是乱码 --------------------编程问答-------------------- 或者把web.config的编码修改为
<globalization requestEncoding="GB2312" responseEncoding="GB2312" fileEncoding="GB2312"/>也是显示正常的
我没试,你说这个正常的话,同理设页面也是一样的
--------------------编程问答-------------------- http://127.0.0.1:9002/Temp.aspx?sss=abc测试
有没有试过把abc测试设置一个变量来接受,然后传变量呢?string str="abc测试";
http://127.0.0.1:9002/Temp.aspx?sss=str; --------------------编程问答-------------------- 你把要传递的参数用JS的escape()函数做一下编码之后再传递看看,在万般无奈的况下可以一试! --------------------编程问答-------------------- sss=abc测试 这个参数不编码就传肯定会有问题的,还是先把参数编码下再传吧 --------------------编程问答-------------------- 在传值传过去的时候encoding --------------------编程问答--------------------
额。。。第一次见这样的。
URL能这样传变量过去?求解 --------------------编程问答-------------------- 传参时escape一下 --------------------编程问答-------------------- 看样子传给你的值编码方式是gb2312,你读取用的是utf_8,现在你需要将编码转一下就可以了。
--------------------编程问答--------------------
string strold = "你拿到的字符串";
Encoding Default = Encoding.Default;
Encoding UTF8 = Encoding.UTF8;
//以UTF_8编码转回字节
byte[] utfBytes = UTF8.GetBytes(strold);
//改编码方式gb2312为utf_8
byte[] unicodeBytes = Encoding.Convert(Default, UTF8, utfBytes);
//将转好的字节用默认编码读出来
char[] unicodeChars = new char[UTF8.GetCharCount(unicodeBytes, 0, unicodeBytes.Length)];
UTF8.GetChars(unicodeBytes, 0, unicodeBytes.Length, unicodeChars, 0);
string unicodeString = new string(unicodeChars);
+`1 --------------------编程问答--------------------
说实话,在回答你这个问题前,我也不记得我是否用过,但是刚才我去试了一下,可以的。而且也没有出现乱码,不知道是不是你那边的问题。。 --------------------编程问答-------------------- 两者编码不一致啊 --------------------编程问答--------------------
http://127.0.0.1:9002/Temp.aspx?sss=abc测试
有没有试过把abc测试设置一个变量来接受,然后传变量呢?string str="abc测试";
http://127.0.0.1:9002/Temp.aspx?sss=str;
额。。。第一次见这样的。
URL能这样传变量过去?求解
说实话,在回答你这个问题前,我也不记得我是否用过,但是刚才我去试了一下,可以的。而且也没有出现乱码,不知道是不是你那边的问题。。
额。。。不同页面间只传递一个变量名过去能获取到变量值?
能不能把你的代码发来学习下。
--------------------编程问答--------------------
对方就是传这样的参数过来,郁闷的是别的系统是能正常接收
修改“对方”的代码,使得你看到的url中绝对不会有中文。
例如在asp.net我们要重定向到新的页面,应该写
Page.Response.Redirect("~/Temp.aspx?sss="+ Server.UrlEncode(x);而不能写
Page.Response.Redirect("~/Temp.aspx?sss="+ x;--------------------编程问答-------------------- Page.Response.Redirect("~/Temp.aspx?sss="+ Server.UrlEncode(x));
而不能写
Page.Response.Redirect("~/Temp.aspx?sss="+ x);
--------------------编程问答-------------------- 一般现在的游览器都是有自动的编码的功能的,楼主你用的是什么游览器,版本是几 --------------------编程问答-------------------- --------------------编程问答--------------------
Response.ContentEncoding = System.Text.Encoding.GetEncoding("GBK");--------------------编程问答--------------------
http://127.0.0.1:9002/Temp.aspx?sss=abc测试
有没有试过把abc测试设置一个变量来接受,然后传变量呢?string str="abc测试";
http://127.0.0.1:9002/Temp.aspx?sss=str;
额。。。第一次见这样的。
URL能这样传变量过去?求解
说实话,在回答你这个问题前,我也不记得我是否用过,但是刚才我去试了一下,可以的。而且也没有出现乱码,不知道是不是你那边的问题。。
额。。。不同页面间只传递一个变量名过去能获取到变量值?
能不能把你的代码发来学习下。
好久没有登录,都忘了。这是我上次实验的
跳转页面
string str="abc你好";
Response.Redirect("webText.aspx?ID="+str);
接受页面
txtShow.Text = Request.QueryString["ID"]; --------------------编程问答-------------------- Response.Charset="GB2312"
你试试可以吗 --------------------编程问答--------------------
对方就是传这样的参数过来,郁闷的是别的系统是能正常接收
修改“对方”的代码,使得你看到的url中绝对不会有中文。
例如在asp.net我们要重定向到新的页面,应该写Page.Response.Redirect("~/Temp.aspx?sss="+ Server.UrlEncode(x);而不能写Page.Response.Redirect("~/Temp.aspx?sss="+ x;
+1 --------------------编程问答-------------------- 客户端的url参数可以用js的encodeURIComponent()进行编码处理。。
后端可以用.net的url解码进行处理。。
压根就不需要进行统一配置文件编码,因为这个还设计到你网页在客户端浏览器打开的编码问题。。 --------------------编程问答-------------------- 楼主,以前我也遇到过类似的问题
get提交中文会出现乱码,post一般不会出现
你可以看看这个帖子。 http://bbs.csdn.net/topics/390305296 --------------------编程问答-------------------- 两个页面的编码不一致。或是你直接在地址栏打进去,浏览器不知网站使用什么编码就采用了默认的方式 --------------------编程问答-------------------- 传参时候编码下, 接受参数的时候解码下,如19,18L p哥所说 --------------------编程问答-------------------- 编码 解码
补充:.NET技术 , ASP.NET