我正在从SQL Server数据库访问数据到我的基于ASP.Net C#的网站。这些数据是从关联公司收到的,包含英镑的£
。但是当我在标签内显示这些数据时,它显示的是£
而不是£
。编码难点:£显示而不是£
注:&
转化为&
。
我知道这是一个字符编码的问题,我已经尽力提供的字符编码作为标题“UTF-8”,也“ISO-8859-1”。
我应该使用哪种字符编码来解决问题?
我正在从SQL Server数据库访问数据到我的基于ASP.Net C#的网站。这些数据是从关联公司收到的,包含英镑的£
。但是当我在标签内显示这些数据时,它显示的是£
而不是£
。编码难点:£显示而不是£
注:&
转化为&
。
我知道这是一个字符编码的问题,我已经尽力提供的字符编码作为标题“UTF-8”,也“ISO-8859-1”。
我应该使用哪种字符编码来解决问题?
这不是与找到正确的字符编码把字节转换成文本的一个问题,它是如何文本已经被编码(或相当逃脱)。
问题是文本被HTML编码了两次。第一次将£
变成£
,第二次变成£
。
因此,要纠正这一点,你必须使用HtmlDecode
方法来扭转第二步。
& amp;#163 应呈现为&#163。通过使用& amp;你已经逃过了HTML转义代码。
它看起来被编码了两次,只解码一次。它经历的步骤是什么?
谢谢,我会试试看。 – Anchit 2010-08-14 13:16:11
但是,显示数据的标签位于gridview的项目模板中: “> ItemTemplate中> 所以我怎样才能把HtmlDecode功能吗? 对不起,提出新手问题我只是一个初学者。 –
Anchit
2010-08-14 13:18:50
如果你想在显示它之前改变它的值,你不能绑定这个属性,而应该用'Eval'代替:'Text ='<%#HttpUtility.HtmlDecode(Eval(“Gift”))%>' – Guffa 2010-08-14 13:36:22