我的 XML 中有一个项目,它返回如下标签:<MT N="firstName" V="Nataša"/>
然后我以这两种方式显示它:
<xsl:variable name="firstName" select="MT[@N = 'firstName']/@V"/>
<img src="{$headshotUrl}" alt="{$firstName} {$lastName}" />
<xsl:value-of select="$firstName" />
输出的最终结果是 Nataa,并且在 Chrome 中完全删除了带重音的 S。看起来我在不同的浏览器中得到了不同的结果,但它们都没有正确显示字符。
该页面设置为UTF-8
,因此那里应该没有问题。
有任何想法吗?
更新
该转换正在 C# 中应用,如下所示:
string qs = "http://" + System.Configuration.ConfigurationManager.AppSettings["GoogleIP"] + "/search?" + query;
XmlDocument xmlDocument = new XmlDocument();
XPathDocument xpathDoc = new XPathDocument(qs);
if(!String.IsNullOrEmpty(XSLToLoad))
{
XslCompiledTransform transform = new XslCompiledTransform();
//Load the XSL stylsheet into the Transform object
transform.Load(XSLToLoad);
//Create a StringWriter object to hold the result
StringWriter sw;
sw = new StringWriter();
//update parameter if needed
XsltArgumentList xslArg = AddPageParams();
//Perform the Transform
transform.Transform(xpathDoc, xslArg, sw);
//Assign result to asp label
litResults.Text = sw.ToString();
}