gridview无法显示直接从数据库中检索的中文

时间:2015-05-11 06:45:29

标签: asp.net gridview eval

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="WebApplication1.WebForm1" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
    <style type="text/css">
        #middle{
            float:none;
        }
        #left{
            float:left;
        }

        #right{
            float:right;
        }
    </style>
</head>
<body>
    <form id="form1" runat="server">
        <div style="font-family:Arial">
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False">
    <Columns>
        <asp:TemplateField >
            <ItemTemplate>
                <asp:LinkButton ID="LinkButton1" OnClick="LinkButton1_Click"
                    Text='<%# Eval("USERID").ToString() +"&nbsp;&nbsp;&nbsp;&nbsp;"+ Eval("USERNAME").ToString() +"&nbsp;&nbsp;&nbsp;&nbsp;"+ Eval("USERPOSITION").ToString()%>' runat="server"></asp:LinkButton>
            </ItemTemplate>
        </asp:TemplateField>
    </Columns>
</asp:GridView>
</div>

        <asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:SOConnectionString %>" ProviderName="<%$ ConnectionStrings:SOConnectionString.ProviderName %>" SelectCommand="SELECT USERID, USERNAME, USERPOSITION FROM USERMASTER"></asp:SqlDataSource>
    </form>
</body>
</html>

这是我的代码,当Eval()从数据库中检索USERID时,它无法显示普通话。所有角色都变成了??? 有谁可以帮我这个? 在之前,如果我使用C#,它将显示普通话,而不是任何编码背后。也许是asp.net。有谁有任何想法?

1 个答案:

答案 0 :(得分:0)

确保指定了字符编码。请参阅Specifying the document's character encoding了解如何做到这一点。

确保文档的字符编码与Eval语句的结果相同。