【发布时间】:2011-09-14 06:20:41
【问题描述】:
我有一个巨大的 xml 文件,其示例数据如下:
<vendor name="aglaia"><br>
<vendorOUI oui="000B91" description="Aglaia Gesellschaft für Bildverarbeitung ud Kommunikation m" /><br>
</vendor><br>
<vendor name="ag"><br>
<vendorOUI oui="0024A9" description="Ag Leader Technology" /><br>
</vendor><br>
可以看到,有文本“Gesellschaft für Bildverarbeitung”不符合 UTF-8,因为我从 xml 验证器收到错误,错误如下:
导入失败: com.sun.org.apache.xerces.internal.impl.io.MalformedByteSequenceException:1 字节 UTF-8 序列的字节 1 无效。那么查询是如何在 Linux 环境中处理这个以将 xml 文件转换为 UTF-8 兼容格式?或者在 bash 中是否有一种方法可以在首先创建 xml 时确保所有变量/字符串都以符合 UTF-8 的格式存储?
【问题讨论】:
-
当前 XML 标头是否指定编码? IE。是否有这样的标题:
<?xml version="1.0" encoding="UTF-8"?>,如果有,编码是什么?如果文件没有这个头,你知道实际编码吗? -
这是我的脚本在创建 xml 时添加的标头,但正如我所说,它只是回显到 xml::
-
真正的问题是生成的 XML 是否有效,基于此您必须更改 XML 生成器或使用能够处理有效编码的通用 XML 解析库。
标签: linux shell unix unicode utf-8