使用PowerShell解析XML并将数据编辑到Excel中,出现奇怪的外来字符

时间:2016-04-18 20:49:32

标签: xml excel powershell

当我使用PowerShell将数据从XML工作表复制到Excel工作表时,我遇到了问题。 XML文件中的数据如下所示:<TrackTitle>I'm the One</TrackTitle>,但Excel中的结果如下所示:IÂ’'m the One。任何人都知道撇号可能会发生什么?我正在做的就是抓住TrackTitle节点并将其插入Excel电子表格,没什么特别的。我认为这是一个编码问题?但我不知道在移动信息时如何影响信息的编码。非常感谢帮助。

编辑:这是相关段落的十六进制代码。在HxD十六进制编辑器中,时髦字符也会显示出来。

在HxD的XML文档中,

"IÂ’'m the One" =  "49 C2 92 27 6D 20 74 68 65 20 4F 6E 65"

如果我使用编辑→复制为→编辑器视图,当我选择IÂ’'m the One时会出现这种情况:

Offset(h) 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F

00004AA0                    49 C2 92 27 6D 20 74 68 65 20        IÂ’'m the 
00004AB0  4F 6E 65                                         One

奇怪的是,即使在HxD中,角色也会失真。在XML中,它看起来完全正常。

1 个答案:

答案 0 :(得分:2)

单引号(C2 92)之前的两个字节27是不可打印的控制字符(U+0092)。不确定这个Unicode字符的用途是什么,或者字符如何进入你的XML数据(如果我不得不猜测我会说它是从某个地方复制/粘贴的,也许是某些HTML text)。

如果您在记事本中打开文件并将光标放在I'中单引号的右侧,则您很可能需要按 3次才能从右侧移动光标'左侧的I

只需从XML文件中删除该字符(删除错误的字符序列,在其位置键入I',然后保存文件),您就可以了。