文档问题:3 字节 UTF-8 序列的第 3 个字节无效

文档问题:3 字节 UTF-8 序列的第 3 个字节无效

我正在尝试使用 xml 文档但遇到了这个错误:

Invalid byte 3 of 3-byte UTF-8 sequence

我的文档看起来如下所示,但包含更多标签和内容。 不过,不要关注下面的文档。我使用了几个这种格式的文档。我相信这是我的文档中的一个无效字符,但我不知道找到它的最佳方法,因为它太大了。

有什么想法或工具可以使用吗?谢谢。

谢谢!

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE map PUBLIC "-//OASIS//DTD DITA Map//EN" "file:C:/Documentum/Viewed/map.dtd">
<map xmlns:dctm="http://www.documentum.com" dctm:obj_status="Read-Only" dctm:obj_id="09002af8800af696" dctm:version_label="CURRENT" xmlns:ditaarch="http://dita.oasis-open.org/architecture/2005/">
    <title>Overview of the Commercial General Liability (CGL) Insurance Coverages  </title><moreTagsHere><!-- more tags here... --></moreTagsHere>
</map>

答案1

我的 xml 中有一个无效的花括号。

答案2

我会尝试XMLStarlet

[...] XMLStarlet 是一组命令行实用程序(工具),可用于转换、查询、证实,并使用一组简单的 shell 命令编辑 XML 文档和文件,其方式与使用 UNIX grep、sed、awk、diff、patch、join 等命令编辑纯文本文件的方式类似。[...]
[强调我的]

答案3

我隐隐怀疑您可能正在使用 Microsoft 的一个工具。

根据我的经验,Expression Web 过去常常将标头信息放在文本文件中,以识别它们的任何格式 - 任何其他格式都无法识别它们,并且它们会显示为随机字符。这在 PHP 中尤其成问题,因为它破坏了包含。

答案4

你可能使用过一个添加了字节顺序标记 (BOM)保存到文件。许多/大多数 xml 编辑器/网站编辑器允许您保存带/不带 bom 的文档。检查您使用的任何编辑器中的保存选项。

您可能需要删除 BOM 以避免错误。

如果你的编辑器不支持这个选项,我推荐你使用优秀的记事本++

相关内容