Â出现在我的XML

时间:2015-11-10 15:37:01

标签: xml xslt

我们有一个excel运行查找,然后导出到XML。由于注册标记®实际上是®,因此下游系统存在问题。我不知道Â来自哪里,我只能使用名为WinMerge的软件看到它。我没有看到Excel,XMLSpy,Notepad中的字符...... ..

我尝试运行XSLT将®替换为®®,但刚创建的输出完全相同。我甚至将注册标记前面的字母“h”和注册标记替换为h®,认为这样可以将其删除,但事实并非如此。我甚至尝试创建一个XSLT,将任何Â转换为空格但不会运行。我需要将XML提供为UTF-8,以便可以在下游进行处理。有什么建议吗?

XML以<?xml version="1.0" encoding="UTF-8"?>

开头

1 个答案:

答案 0 :(得分:2)

当您的编码错误时,重音的'A'会发生。 nbsp(十六进制)的UTF-8编码为[C2] [A0]。在UTF-16或Windows中的C2是Â,所以,如果你输出UTF-8中的&nbsp;,但是不告诉它在Windows中加载它是UTF-8,你会看到Â字符。围绕该代码的几个字符完全相同,包括注册标记。

最好的建议是添加

<xsl:output encoding="iso-8859-1"/>

(我认为 - 此时尚未测试过。)