将ISO-8859-1中的XML转换为HTML

时间:2009-10-19 14:12:28

标签: c# html xml xslt encoding

我有一个XML文档,我正在使用XSL进行转换,然后直接吐出到HTML文档(所有服务器端)。

一切正常但功能正常,但特殊字符(特别是©符号 - 这些是广告,很多都有©符号)没有显示正确(IE显示?和FF显示钻石与a?里面)。显然,一些时髦的东西正在编码方面。

XML采用ISO-8859-1编码。

我尝试将<xsl:output omit-xml-declaration="yes" method="html" encoding="iso-8859-1"/>添加到我的XSL文件中,并<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=ISO-8859-1">添加到HTML中的HEAD标记。

我正在考虑通过模板(XSL)运行XML,该模板将所有特殊字符转换为HTML等价物(©&copy;),但我希望我不必走这条路线

有什么想法吗?

2 个答案:

答案 0 :(得分:1)

我认为您的问题与XSLT无关。您可能缺少页面返回编码(您知道,如Response.ContentEncoding

您无法轻易转换© to &copy;

答案 1 :(得分:0)

根据你的回答(以及我随后的调查),我意识到某些东西在管道中被搞砸了。我正在从Web服务中检索XML,所以我在他们的API中查找并发现我可以让它们以UTF-8编码输出。无论如何,这对我来说效果更好,所以我最终做到了这一点,现在不必担心转换等。

感谢您的帮助!