Certain characters disappear when you receive data that you pass by using the POST request from an ASP Web page or from an HTML Web page (835385)



The information in this article applies to:

  • Microsoft ASP.NET (included with the .NET Framework 1.1)
  • Microsoft ASP.NET (included with the .NET Framework) 1.0

SYMPTOMS

In a Microsoft ASP.NET Web form, when you receive data that you pass by using the POST request from an Active Server Pages (ASP) Web page or from an HTML Web page, certain characters may disappear. For example, if you pass BeginãøåöäéEnd from an ASP Web page or from an HTML Web page, in the ASP.NET Web form, you may receive only BeginEnd.

CAUSE

HMTL Web pages, ASP Web pages, and ASP.NET Web forms use character sets to represent characters. When you pass data to an ASP.NET Web form, if the data is in the format of a character set that the Web form uses, the Web form can receive the data. However, if the ASP Web page or the HTML Web page that sends the data uses a different character set than the character set that the Web form uses, the behavior that is mentioned in the "Symptoms" section of this article occurs.

RESOLUTION

To resolve this problem, use one of the following methods. If you do not know the character set that your Web page uses, Microsoft recommends that you change the character set that the Web page uses.

Change the character set that the Web page uses

Change the character set that the Web page uses to the character set that the Web form uses. To do this, follow these steps:
  1. In the Web.config file of your ASP.NET Web Application project, locate the <globalization> element. Note the value for the requestEncoding attribute of the <globalization> element.
  2. In your ASP Web page or in your HTML Web page, locate the following code:
    <title>PageTitle</title>
    Note PageTitle is a placeholder for the title of your Web page.
  3. Add the following code after the code that you located in the previous step.

    Note In the following code, replace CharacterSet with the value that you noted in step 1.
    <meta http-equiv="Content-Type" content="text/html; charset=CharacterSet">

Change the character set that the Web form uses

Change the character set that the Web form uses to the character set that the Web page uses. To do this, follow these steps:
  1. Note the character set that the Web page uses. If you do not know the character set that the Web page uses, locate the META element for the Web page, and then note the value for the charset property of the associated CONTENT attribute.

    Note The META element is an optional element. Therefore, your Web page may not contain a META element. In such a scenario, this resolution may not resolve the problem.
  2. In the Web.config file of your ASP.NET Web Application project, locate the <globalization> element.
  3. Change the values for the requestEncoding attribute and the responseEncoding attribute to the value that you noted in step 1. If you did not note any value in step 1, change the values for the requestEncoding attribute and the responseEncoding attribute to typical values (such as "ISO-8859-1" and "Windows-1252").

STATUS

This behavior is by design.

MORE INFORMATION

Steps to reproduce the behavior

  1. Start Microsoft Visual Studio .NET.
  2. Use Microsoft Visual Basic .NET to create an ASP.NET Web Application project. By default, the WebForm1.aspx file is created.
  3. Add a Label control to the WebForm1 Web form.
  4. Add the following code to the Page_Load event handler for the WebForm1 Web form:
    Label1.Text = Request.Form("postdata")
  5. Add an HTML Web page to the project.
  6. In Solution Explorer, right-click the Web page that you added in the previous step, and then click Set As Start Page.
  7. In the HTML View of the Web page, add the following code to the BODY element:
    <form action="WebForm1.aspx" method="post" ID="Form1">
    <p><input type="text" name="postdata" ID="Text1"></p>
    <input type="submit" value="Post" ID="Submit1" NAME="Submit1">
    </form>
  8. Build the project.
  9. In Solution Explorer, right-click the Web page, and then click View in Browser.
  10. In the text box, type the following text:

    BeginãøåöäéEnd
  11. Click Post.
  12. The WebForm1 Web form appears with the following text:

    BeginEnd

    Notice that certain characters have disappeared.

REFERENCES

For more information, visit the following Microsoft Developer Network (MSDN) Web site:For additional information, visit the following Web site: Microsoft provides third-party contact information to help you find technical support. This contact information may change without notice. Microsoft does not guarantee the accuracy of this third-party contact information.

Modification Type:MajorLast Reviewed:2/9/2004
Keywords:kbWebForms kbhtml kbprb KB835385 kbAudDeveloper