2010-08-14 40 views
0

我正在从SQL Server数据库访问数据到我的基于ASP.Net C#的网站。这些数据是从关联公司收到的,包含英镑的£。但是当我在标签内显示这些数据时,它显示的是£而不是£编码难点:£显示而不是£

注:&转化为&

我知道这是一个字符编码的问题,我已经尽力提供的字符编码作为标题“UTF-8”,也“ISO-8859-1”。

我应该使用哪种字符编码来解决问题?

回答

2

这不是与找到正确的字符编码把字节转换成文本的一个问题,它是如何文本已经被编码(或相当逃脱)。

问题是文本被HTML编码了两次。第一次将£变成£,第二次变成£

因此,要纠正这一点,你必须使用HtmlDecode方法来扭转第二步。

+0

谢谢,我会试试看。 – Anchit 2010-08-14 13:16:11

+0

但是,显示数据的标签位于gridview的项目模板中: Guffa 2010-08-14 13:36:22

2

& amp;#163 呈现为&#163。通过使用& amp;你已经逃过了HTML转义代码。

+0

可能是的,情况就是这样,但是我有解决方案来解决问题吗? :\ 我肯定不能更改表中的数据,所以我必须在应用程序结束时找到解决方案。 – Anchit 2010-08-14 13:14:48

+0

这听起来像是两次HTML编码。因此,也许你可以HTML解码两次? (HttpUtility.HtmlDecode) – 2010-08-14 13:21:41