Notice: This website is an unofficial Microsoft Knowledge Base (hereinafter KB) archive and is intended to provide a reliable access to deleted content from Microsoft KB. All KB articles are owned by Microsoft Corporation. Read full disclaimer for more details.

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


View products that this article applies to.

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.

↑ Back to the top


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.

↑ Back to the top


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").

↑ Back to the top


Status

This behavior is by design.

↑ Back to the top


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.

↑ Back to the top


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.

↑ Back to the top


Keywords: KB835385, kbprb, kbhtml, kbwebforms

↑ Back to the top

Article Info
Article ID : 835385
Revision : 5
Created on : 5/18/2007
Published on : 5/18/2007
Exists online : False
Views : 306