关于URL的传递字符串问题

前几天在调程序的时候遇到了比较郁闷的问题,我用URL从一个页面传递字符串到另一个页面的时,出 现了个奇怪的问题,我要传递的字符串是“DK51+700中继站”;可是另一个页面接收到字符串却是: “DK51 700中继口”;加号变成了空格,“站”不能解析出来,变成了不能识别的符号“口”。

我上网查找了原因:URL中有些字符被转义,比如空格被编码成加号,于是传的参数明明是加号,获取 的值却成了空格。

按照网上的建议,我们应该对要传递的参数进行编码处理。于是,我对传递的参数进行了处理,但是 又衍生了一堆问题出来;我当时为了节约时间,就没有仔细研究,用了字符串中的Replace()方法在传送 前代替了这两个字符,接收到了再代替回来。现在我来具体的展示下这个问题。

1.首先,我们先看下我的开始的问题(环境:VS2008):

1.1.新建一个网站,在其中添加一个页面,一个页面是Defaul.aspx,另一个页面Defaul2.aspx,在第 一个页面中添加一个控件:HyperLink1;

后台代码:

public partial class _Default : System.Web.UI.Page
{
  protected void Page_Load(object sender, EventArgs e)
  {
    string url;
    string name;
    url = "Default2.aspx?Name=";
    name = "DK51+700中继站";
     HyperLink1.NavigateUrl = url + name;
  }
}

1.2.在第二个页面中添加一个Label控件Label1;

后台代码:

public partial class Default2 : System.Web.UI.Page
{
  protected void Page_Load(object sender, EventArgs e)
  {
    string name = Request.QueryString ["Name"];
    Label1.Text = name;
  }
}

时间: 2024-09-17 03:31:03

关于URL的传递字符串问题的相关文章

Jsp页面URL中传递参数乱码的方法

  Jsp页面在URL中传递参数会出现乱码 解决方法如下: 一.使用更改Tomcat的方法.这个方法简单,但是需要改动的地方是服务器软件级别的,如果稍微变动系统将无法正确转码,移植性不高. 1.来到tomcat目录,找到conf目录下的server.xml问价,打开,找到标签,在最后添加URIEncoding='GBK',效果如下: view plaincopy to clipboardprint? port="8080"maxThreads="150"minSpa

jquery.ajax的url中传递中文乱码问题的解决方法

 本篇文章主要是对jquery.ajax的url中传递中文乱码问题的解决方法进行了介绍,需要的朋友可以过来参考下,希望对大家有所帮助 JQuery   JQuery默认的contentType:application/x-www-form-urlencoded    这才是JQuery正在乱码的原因,在未指定字符集的时候,是使用ISO-8859-1    ISO8859-1,通常叫做Latin-1.Latin-1包括了书写所有西方欧洲语言不可缺少的附加字符.   JQuery的Ajax根本没有考

servlet-response.setHeader中url怎么传递参数

问题描述 response.setHeader中url怎么传递参数 response.setHeader(""Refresh""3url=/db_project/index/index.jsp?username=<%=name%>"");name是我从servlet获取到的参数,没有问题,但是这样写jsp报错为什么jsp会报错 解决方案 你把报的错误信息贴出来 解决方案二: 在myeclipse中编译都不通过 解决方案三: org.a

新手求教,关于传递字符串数组的问题

问题描述 新手求教,关于传递字符串数组的问题 以下是我写的c primer plus 第11章习题10的程序,问题是我输入字符串后,用1以外的方式排序,就无法恢复原序列了.也就是每次调用函数都改变了原本数组的顺序,我实在找不到问题出在哪.特请高手指教,如果我的代码还有其他的什么毛病也请指出来.O(∩_∩)O谢谢 #include<stdio.h> #include<string.h> #include<ctype.h> #define LIM 10 #define MA

ios-最佳途径把url参数转换为字符串值

问题描述 最佳途径把url参数转换为字符串值 在iphong中把url分割为数值,我的计划是这样: appname://user=jonsmith&message=blah%20blah 这样我可以将user和message作为两个NSString接收.有没有更好的方法?谢谢 解决方案 假设你的URL是名为url的NSURL NSMutableDictionary *queryParams = [[NSMutableDictionary alloc] init]; NSArray *compon

关于C++用SAFEARRAY传递字符串数组的问题

问题描述 关于C++用SAFEARRAY传递字符串数组的问题 碰到个问题,需要用VARIANT变量传递字符串数组,想到使用SAFEARRAY,就写了如下代码,结果运行出现堆内存错误,请问该如何改正,多谢赐教 int _tmain(int argc, _TCHAR* argv[]) { SAFEARRAY psa; SAFEARRAYBOUND rgsabound[1]; rgsabound[0].cElements=2; rgsabound[0].lLbound=0; psa = SafeArr

使用ksoap2传递字符串数组到webservice

问题描述 使用ksoap2传递字符串数组到webservice 在android程序中有一个Web Client使用ksoap2,但是还是不能把字符串数组作为一个参数传递到webservice中.贴出相关代码: String[] items={""hello""world""};request.addproperty(""str""items); 请求大家的帮忙,谢谢! 解决方案 好像只能一条条加 publ

jni-android中向底层传递字符串

问题描述 android中向底层传递字符串 我想在android的中将一个字符串传递到底层,然后在底层判断传过来的字符串是否与 底层算法生成的一样,我该怎么做呢 ,求帮助谢谢 解决方案 http://blog.csdn.net/zgyulongfei/article/details/7409441

GET方法URL中传递中文参数乱码的解决方法_JSP编程

1.在页面中对你的URL进行编码 使用------encodeURI(你要使用的中文参数值)如:...?username"+encodeURI("小甜甜") 2.在后台通过解码来接收该中文参数 使用----String name = new String(request.getParameter("username ").getBytes("iso8859-1"),"utf-8") 3.最好不要在URL中传递中文参数