';' character, hex value 0x3B, cannot be included in the name
I saw the error "The"; character, hex value 0x3B, cannot be included in the name. "in my log files for an ASP.NET web application. The logged url looks something like this:
mypage.aspx?paramone=one+two&paramtwo=zero+1
So my first question is what type of system / browser encodes the original query string? (This rarely happens)
I tried to solve this problem with the following piece of code in the Page_Load () event:
string rawUrl = Request.RawUrl;
if (rawUrl.Contains(amp))
{
rawUrl = rawUrl.Replace("&", "&");
Server.Transfer(rawUrl, false);
return;
}
However, when it returns to this page, it &
returns to the query string. So my guess is that the .Transfer () function encodes the first parameter.
Suggestions for solving this problem?
-
Your web server should be able to register the "user agent" field from the HTTP request, which should allow you to identify the culprit.
-
Don't fix it - there is a very well-defined set of legal syntaxes for URI parameters, and this is not one of them.
When you try to export the Microsoft directory to XML, the resulting file cannot be imported and you receive the following error message "XML file path / name contains an error in string." "The name contains an invalid character."
If you validate the XML directory using Microsoft Visual Studio .NET, you receive the following error message:
"Character" ("hex" value 0x28 cannot start with a name. Line #, Position # "
This issue occurs because the Commerce Server export did not encode the following special characters:
The range 0x0021 โ 0x002F includes ! " # $ % & โ ( ) * + , - . /
The range 0x03A โ 0x0040 includes : ; < = > ? @
The range 0x007B โ 0x007E includes { | } ~
The range 0x005B โ 0x005E [ \ ] ^**