Query strings with special characters

好久不见. 提交于 2019-12-17 17:22:39

问题


How I can pass a query string with special characters?

For example I need to pass "&" inside my query string as below:

../solrresults.asp?mode=search&data=M & S

回答1:


Use Server.UrlEncode:

URLEncode converts characters as follows: Spaces ( ) are converted to plus signs (+). Non-alphanumeric characters are escaped to their hexadecimal representation.

Use it this way;

<a href="page2.asp?name=<%= Server.URLEncode(sName) %>">here</a>



回答2:


As stated, the UrlEncode method would be the way to go.

Some time ago I wrote a small class QueryString to simplify the work with those query strings.

An example usage would be:

private void Page_Load(
    object sender, 
    System.EventArgs e )
{
    // Let the object fill itself 
    // with the parameters of the current page.
    QueryString qs = new QueryString();

    // Read a parameter from the QueryString object.
    string value1 = qs["name1"];

    // Now remove the parameter.
    qs.RemoveParameter( "name1" );

    // This has the same effect as RemoveParameter() method:
    qs["name1"] = null;

    // ... Further processing of the value1 variable ... 
}

You can fill the query string class and don't have to care whether to URL-encode the values, the class handles this internally for you.




回答3:


After your comments, here is a solution in various scripting languages:

There are different versions available for each scripting language. Here is a reference from w3schools:

In JavaScript you can use the encodeURI() function. PHP has the rawurlencode() function and ASP has the Server.URLEncode() function.

Reference: http://www.w3schools.com/tags/ref_urlencode.asp



来源:https://stackoverflow.com/questions/9579151/query-strings-with-special-characters

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!