【问题标题】:libxml2 with extended ASCII and UTF-8 C APIs带有扩展 ASCII 和 UTF-8 C API 的 libxml2
【发布时间】:2021-11-13 18:18:04
【问题描述】:

我编写了一个使用 libxml2 创建 XML 文件的 C 应用程序。我使用以下方法打开了 XML 文件:

xmlTextWriterStartDocument(xmlFileWriter->writer, NULL, NULL, NULL);

我写的一个字符串包含扩展的 ASCII 码:

xmlTextWriterWriteElement(TPCBData->writer, BAD_CAST    "DESCRIPTION", "Ã");

使用xmlParseFile 解析文件时,出现错误:

Input is not proper UTF-8, indicate encoding !

【问题讨论】:

    标签: c utf-8 libxml2


    【解决方案1】:

    UTF-8 向后兼容基本 ASCII(即代码点 00-7F),但不兼容扩展 ASCII,因为它使用字节 80-FF 来形成非 ASCII 字符。例如,¢ 符号 (U+00A2) 表示为 C2 A2。我从未使用过 libxml2,所以我最好的建议是将扩展的 ASCII 转换为 UTF-8。 Here 是一个可能对您有所帮助的链接。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-12-22
      • 2020-01-29
      • 2017-03-17
      • 2011-04-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多