微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

无法识别撒克逊输入编码?

如何解决无法识别撒克逊输入编码?

我从Saxon xslt处理器输出的utf-8文本中得到了奇怪的字符。

输入xml开头

<?xml version="1.0" encoding="windows-1252"?>

它包含类似字符串(如右图所示,在Windows 1252编码的notepad ++中显示

“abc”

转换样式表包含

<xsl:output method="text" encoding="utf-8" />

但是输出包含(在记事本++中显示,右下角显示UTF-8编码)

�abc�

代替UTF-8编码

“abc”

知道我错过了什么吗?

p.s .:当我使用notepad ++将xml输入从Windows-1252更改为UTF-8时,输出编码正确,这就是我的解决方法。但是,我想了解我是否错过了某些内容,或者应该改进某些字符集软件。

解决方法

我怀疑尽管输入被标记为Windows-1252,但实际上不是Windows-1252。

首先,尝试找出问题出在输入还是序列化上。您可以通过在XSLT代码中使用string-to-codepoints()来执行此操作,以查看解析的节点树中存在哪些实际代码点。

如果是输入问题,那么这是XML解析器而不是Saxon本身的责任,因此它取决于您使用的XML解析器。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。