C# 特殊(或外国)字符

C# 特殊(或外国)字符,c#,asp.net,gridview,textbox,special-characters,C#,Asp.net,Gridview,Textbox,Special Characters,我是C#新手,正在试验ASP.Net GridView(framework 3.5),当GridView文本包含以下内容时,我发现了一个大问题: ñ/ñ/Á/Í/Ó/Ú/Ú或a–a,î,î,î,î,î,甚至aç 结果显示如下:&+#+237 我做了一个表格,数据集等等,这让我很痛苦。。。从数据库中获取与字母本身一样干净的数据。我也尝试过制作一个清理变量的方法,但这是一个糟糕的IF 我想知道,在从gridview提取数据时,是否有一种方法可以使字母显示为它们自己(ñasñ而不是&++237),而无

我是C#新手,正在试验ASP.Net GridView(framework 3.5),当GridView文本包含以下内容时,我发现了一个大问题:

ñ/ñ/Á/Í/Ó/Ú/Ú或a–a,î,î,î,î,î,甚至aç

结果显示如下:
&+#+237

我做了一个表格,数据集等等,这让我很痛苦。。。从数据库中获取与字母本身一样干净的数据。我也尝试过制作一个清理变量的方法,但这是一个糟糕的IF


我想知道,在从gridview提取数据时,是否有一种方法可以使字母显示为它们自己(ñasñ而不是&++237),而无需直接从数据库获取数据,也无需编写大量代码。如果没有,是否有一种方法可以有效地对其进行编码清理?

您的字符正在进行HTML编码,或者在数据访问层的某个位置,或者在gridview控件中。在绑定网格之前,请尝试通过
HttpUtility.HtmlDecode()
运行文本


如果这不起作用,那么它可能是在控制级别编码的。我看到你用“文本框”标记了这个问题。标准ASP.NET TextBox控件将自动对分配给其文本属性的任何内容进行编码。相反,您可以使用通用的
System.Web.UI.HtmlControls.HtmlTextArea
控件或
新的HtmlGenericControl(“输入”)

谢谢先生。你挽救了这一天。HttpUtility.HtmlDecode()工作得很好。另外,值得注意的是,HTML编码通常是一件非常好的事情,因为它可以防止XSS攻击,特别是当您的输入源于用户输入时。在这种情况下,最好让它保持编码状态。如果需要在不返回数据库的情况下检索未编码的文本,可以将其存储在会话或其他未输出的存储中,或者使用jQuery的.text()将其从gridview中删除方法。@DerekHunziker在仅从包含db结果的GridView中提取数据时,我需要它来解码/删除那些恼人的字符。用户输入是另一回事。除息的