【问题标题】:Invalid text error in XML caused by French language characters由法语字符引起的 XML 中的无效文本错误
【发布时间】:2014-05-22 04:42:15
【问题描述】:

我收到了一个包含法语字符的 XML 文件并收到以下错误:“在文本内容 XML 中发现了一个无效字符。”经过搜索,这似乎是一个常见错误,原因是 XML 是为 UTF-8 编码设计的。我不熟悉如何更改正在使用的编码,虽然我在这里看到了包含一行说明编码的示例,但我的文件中唯一的非数据行是:

<tag> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:xsd="http://www.w3.org/2001/XMLSchema">

有什么方法可以正确解释这些字符吗?我正在尝试将 XML 文件导入 Access,最后最好保留这些字符。

【问题讨论】:

  • 我对您包含的 XML 片段感到困惑。它应该向我们展示什么?
  • @dcsohl 对不起,我只是想表明文件中没有设置编码的行(我记得看到其他文件有一行写着“iso-8859-1” )。我现在看到它在下面。

标签: xml


【解决方案1】:

XML 默认为 UTF-8 编码,但声明不同的编码非常容易 - 比试图乱搞和更改文档的编码更容易。

如果您使用序言开始您的 XML 文档

<?xml version="1.0" encoding="ISO-8859-1" ?>

您将告诉 XML 解析器不要使用 UTF-8,而是使用 ISO Latin1(这是您的文档实际使用的最有可能的编码。)您的字符将以这种方式保存(始终假设 Access尊重编码语句,它应该这样做)。

【讨论】:

  • 太棒了!我看你明白我的意思了。应该吗?被包括在内?我现在就试试这个。
  • 是的,必须包含问号——它们是“序言”的一部分——这不是&lt;xml&gt; 标签。
【解决方案2】:

您可以通过像这样定义文件的标头值来设置 XML 编码:

<?xml version="1.0" encoding="iso-8859-1"?>

【讨论】:

    猜你喜欢
    • 2019-11-10
    • 2012-09-20
    • 2021-04-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-23
    • 2012-06-11
    相关资源
    最近更新 更多