Import MarkLogic内容泵,内容“编码=”;US-ASCII“;?

Import MarkLogic内容泵,内容“编码=”;US-ASCII“;?,import,marklogic,mlcp,xml-encoding,Import,Marklogic,Mlcp,Xml Encoding,MarkLogic安装在Windows 10计算机上 我们正在使用MarkLogic内容泵(MLCP)导入数据 它与我们合作得很好 <?xml version="1.0" encoding="UTF-8"?> 当我查看时,它说“仅支持UTF-8。” 当我查看时,它说“选项值必须是JVM接受的字符集名称 所以我很困惑,不知道如何解决这个问题,以及如何在JVM中设置字符集。谢谢grtjn的回复 -xml_repair_级别完全工作,所有记录现在都已提交,没有失败记录 特殊字符(带;)存

MarkLogic安装在Windows 10计算机上

我们正在使用MarkLogic内容泵(MLCP)导入数据

它与我们合作得很好

<?xml version="1.0" encoding="UTF-8"?>
当我查看时,它说“仅支持UTF-8。”

当我查看时,它说“选项值必须是JVM接受的字符集名称


所以我很困惑,不知道如何解决这个问题,以及如何在JVM中设置字符集。谢谢grtjn的回复

-xml_repair_级别完全工作,所有记录现在都已提交,没有失败记录

特殊字符(带;)存储在ML中,实数字符如下

mlcp.bat -content_encoding "US-ASCII"
  • &阿林奥哈
我希望从商业角度来看,这应该是可以接受的内容

现在唯一的主要挑战是测试数百万xml记录中的乱码字符


感谢grtjn的帮助。

感谢grtjn的回复

-xml_repair_级别完全工作,所有记录现在都已提交,没有失败记录

特殊字符(带;)存储在ML中,实数字符如下

mlcp.bat -content_encoding "US-ASCII"
  • &阿林奥哈
我希望从商业角度来看,这应该是可以接受的内容

现在唯一的主要挑战是测试数百万xml记录中的乱码字符


感谢grtjn的帮助。

如果您的XML文档包含
δ
等字符,则您的编码不是US-ASCII。如果您声明它是ASCII(单字节字符集),然后包含多字节字符的
δ
等内容,XML解析器会将每个字节作为单独的字符读取,您将得到垃圾和此类错误的可能性。感谢MH的回复。我正在开发一个遗留系统,其中包含数十万个文件,其中字符集被称为US-ASCII,我无法更改源,一个选项是在摄取期间使用转换内容,但我希望避免转换,并希望使用MLCPIt提供更简单的解决方案。听起来XML头中的编码不可靠。在那种情况下,很难做对。您可以尝试一下
windows-1252
,这是windows中非常典型的编码方式。如果同样失败,您可以让MarkLogic通过启用`-xml\u repair\u level full`选项进行猜测。我建议仔细检查结果,结果可能会出现乱码,特别是像你提到的变音符号和特殊字符。感谢grtjn的回复,-xml\u repair\u level full worked,我可以导入带有特殊字符的文件集。需要检查moreMLCP是否成功运行了xml,我们创建了一个小应用程序来测试是否接收了所有正确的字符。它不是,例如Å;-Ã…和ö;-分别代替Å和ö。如果我能够以某种方式在MarkLogic XML中摄取实体本身,而不是实际字符,那么我认为浏览器将能够显示正确的实体。如果您的XML文档包含
δ
等字符,则您的编码不是US-ASCII。如果您声明它是ASCII(单字节字符集),然后包含多字节字符的
δ
等内容,XML解析器会将每个字节作为单独的字符读取,您将得到垃圾和此类错误的可能性。感谢MH的回复。我正在开发一个遗留系统,其中包含数十万个文件,其中字符集被称为US-ASCII,我无法更改源,一个选项是在摄取期间使用转换内容,但我希望避免转换,并希望使用MLCPIt提供更简单的解决方案。听起来XML头中的编码不可靠。在那种情况下,很难做对。您可以尝试一下
windows-1252
,这是windows中非常典型的编码方式。如果同样失败,您可以让MarkLogic通过启用`-xml\u repair\u level full`选项进行猜测。我建议仔细检查结果,结果可能会出现乱码,特别是像你提到的变音符号和特殊字符。感谢grtjn的回复,-xml\u repair\u level full worked,我可以导入带有特殊字符的文件集。需要检查moreMLCP是否成功运行了xml,我们创建了一个小应用程序来测试是否接收了所有正确的字符。它不是,例如Å;-Ã…和ö;-分别代替Å和ö。若我能够以某种方式在MarkLogic XML中摄取实体本身,而不是实际的字符,那个么我认为浏览器将能够显示正确的实体。