当WebRequest 的Uri中有中文时的问题

xupc 2005-05-24 08:40:33
使用WebRequest,当Url中的中文时,它会自动将中文编码成UTF-8的编码
但是发UTF8编码在很多Asp中无法识别
有没有办法让它编码成GB2312 ?
...全文
256 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
xupc 2005-06-16
  • 打赏
  • 举报
回复
多谢 net_lover(孟子E章)

但是链接不是我拼的,是取过来的,所以要对一个整个的URL进行编码
我现在是这样解决的自已写了一个方法来编码
public static string UrlGBEncode(string Url)
{
string rtValue="";
byte[] ubts=System.Text.UTF8Encoding.UTF8.GetBytes(Url);
byte[] gbts;

System.Text.Encoding GB2312 = System.Text.Encoding.GetEncoding("GB2312");
gbts=System.Text.Encoding.Convert(System.Text.UTF8Encoding.UTF8, GB2312, ubts);
for(int i=0;i<gbts.Length;i++)
{
if(gbts[i]>127)
rtValue+="%" + System.Convert.ToString(gbts[i], 16);
else
rtValue+=(char)gbts[i];
}
return rtValue;
}
孟子E章 2005-05-25
  • 打赏
  • 举报
回复
参照

http://dotnet.aspx.cc/ShowDetail.aspx??id=YUEMA9OS-W1DN-4KIS-8RIE-S742LLJ91L6Q
孟子E章 2005-05-25
  • 打赏
  • 举报
回复
string Uri="htttp://www.aaa.com?a="+HttpUtility.UrlEncode("中文",System.Text.UnicodeEncoding);
即可

http://sz.luohuedu.net/xml/ShowDetail.asp?id=YUEMA9OS-W1DN-4KIS-8RIE-S742LLJ91L6Q
fengfangfang 2005-05-25
  • 打赏
  • 举报
回复
使用Server的UrlEncode一下
xupc 2005-05-25
  • 打赏
  • 举报
回复
自已顶一个
singlepine 2005-05-24
  • 打赏
  • 举报
回复
string str="中文乱码";
Response.Write("<script language='javascript'>window.location.replace('log_browse.aspx?Pass="+ HttpUtility.UrlEncode(str,System.Text.Encoding.GetEncoding("gb2312"))+"')</script>");
xupc 2005-05-24
  • 打赏
  • 举报
回复
呵呵,不是楼上的这个意思
例:
string Uri="htttp://www.aaa.com?a=中文";
WebRequest=WebRequest.Create(Uri);

这样的话,发出去的请求中的“中文”两字就变成UTF8编码了,与JavaScript完全没有关系的
有什么办法让WebRequest将中文编码成GB2312码吗?

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧