【问题标题】:The non-English character ó in XMLXML 中的非英文字符 ó
【发布时间】:2017-10-21 16:04:39
【问题描述】:

我有一个巨大的 XML 文件,其中包含软件名称及其版本的列表。其中之一是具有非英文字符 ó,如下面的 sn-p 所示。 如果我用浏览器打开 XML 文件,它不会显示任何内容。但是如果我只是删除这个非英文字符 ó ,就会显示整个 XML。

<Item Software="SDK de comprobación de Visual Studio 2012 - esn" Version= "12.0.30501" />

这显然意味着非英语字符 ó 正在导致这种情况发生。

这就是我的 XML 文件的样子:

<?xml version="1.0" encoding="UTF-8"?>
<Softwares>
<Item Software="SDK de comprobación de Visual Studio 2012 - esn" Version= "12.0.30501" />
<Item Software="Notepad++" Version= "72.0.45" />
<Item Software="MyApp" Version= "7.8.45" />
..................................
</Softwares>

它是否与编码有关?我得到相同的结果 即使没有提到我认为默认为 utf-8 的编码。我也尝试将 UTF-16 作为格式也不起作用。 我对 XML 很陌生。

【问题讨论】:

  • 您确定您的文件是用 UTF-8 编码的吗?否则它是有效的 XML。
  • 是我在 XML 文件开头使用的确切行。是否正确。
  • 该行不控制编码,它只声明它。您还必须以该编码保存文件。
  • 如何在 C++ 中使用 std::fstream 以编程方式将 XML 文件保存为 utf8?。
  • 这是另一个问题,但在 SO 上已被多次询问。 stackoverflow.com/questions/4018384/… 是一个。

标签: xml encoding utf-8 character-encoding utf-16


【解决方案1】:

您发布的 XML 没有任何问题,包括 Unicode 字符,带锐音的拉丁小写字母 O,ó。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-08
    • 2011-05-08
    • 1970-01-01
    • 1970-01-01
    • 2020-10-05
    相关资源
    最近更新 更多