开发者

Unicode Text in ASP.NET

I have an input field on my html page where the user can enter Unicode text, for example i enter : ыва ыва ыва ыва ыва ыв

When the form is posted, i check the value posted and it is posted as : ыва ыва ыва ыва

The content type of the page is set as :Content-Type: text/html; charset=utf-8

When i display the posted value on the webpage, it shows as ыва ыва ыва ыва instead of ыва ыва ыва ыва ыва ыв.

How can i fix this to display properly? Do i need to do convert the encoding ? I believe c# strings by default are utf8, and my html page charset is also set as utf-8 - so not sure what's going on.

Update: Here's my ASP Page :

    <%@ Page Language="C#" 开发者_如何转开发AutoEventWireup="true" CodeBehind="utf8.aspx.cs" Inherits="enterprise10._garbage.utf8"
    ValidateRequest="false" Theme="" EnableTheming="false" ResponseEncoding="utf-8" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">    
    <title></title>
</head>
<body>
    <form action="" method="post" runat="server">
    <asp:TextBox ID="UserInputText" runat="server"></asp:TextBox>
    <br />
    <asp:Label ID="UserInputLabel" runat="server" Text="Label"></asp:Label>
    <br />

       <input type="submit" />

    <hr />

<b>    Sample Text displays correctly on the page : </b><br />
    ыва ыва ыва ыва ыва ыв  



    </form>
</body>
</html>

Code Behind:

protected void Page_Load(object sender, EventArgs e)
{
            UserInputLabel.Text = UserInputText.Text;
}

Screen Output (IE9) Before form post:

Unicode Text in ASP.NET

Screen Out after form post

Unicode Text in ASP.NET


Adjust the encoding of your application, in the web.config file set the desired encoding for requests and response (under <system.web>)

<globalization requestEncoding="utf-8" responseEncoding="utf-8" />
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜