我们有一个excel运行查找,然后导出到XML。由于注册标记®
实际上是®
,因此下游系统存在问题。我不知道Â
来自哪里,我只能使用名为WinMerge的软件看到它。我没有看到Excel,XMLSpy,Notepad中的字符...... ..
我尝试运行XSLT将®
替换为®
和®
,但刚创建的输出完全相同。我甚至将注册标记前面的字母“h”和注册标记替换为h®
,认为这样可以将其删除,但事实并非如此。我甚至尝试创建一个XSLT,将任何Â
转换为空格但不会运行。我需要将XML提供为UTF-8,以便可以在下游进行处理。有什么建议吗?
XML以<?xml version="1.0" encoding="UTF-8"?>
答案 0 :(得分:2)
当您的编码错误时,重音的'A'会发生。 nbsp(十六进制)的UTF-8编码为[C2] [A0]。在UTF-16或Windows中的C2是Â,所以,如果你输出UTF-8中的
,但是不告诉它在Windows中加载它是UTF-8,你会看到Â字符。围绕该代码的几个字符完全相同,包括注册标记。
最好的建议是添加
<xsl:output encoding="iso-8859-1"/>
(我认为 - 此时尚未测试过。)