我正在使用 WikiPrep 处理最新的 wiki 转储 enwiki-20121101-pages-articles.xml.bz2。而不是“使用 Parse::MediaWikiDump;” 我将其替换为“使用 MediaWiki::DumpFile::Compat;” 并对代码进行了适当的更改。然后,我跑了
perl wikiprep.pl -f enwiki-20121101-pages-articles.xml.bz2
我有一个错误
enwiki-20121101-pages-articles.xml.bz2:1: parser error : Document is empty
BZh91AY&SY±H¦ÂOÿ~Ð`ÿÿÿ¿ÿÿÿ¿ÿÿÿÿÿÿÿÿÿÿ½ÿýþdß8õEnÞ¶zëJ¨Eà®mEÓP|f÷Ô
^
我猜转储中包含一些非 utf8 字符。所以我跑了
iconv -f utf8 -t utf8 enwiki-20121101-pages-articles.xml.bz2
确实,我遇到了一些错误
BZh91AY&SYiconv: illegal input sequence at position 10
所以,我的问题是 wiki 转储的编码格式是什么,如果我想将其转换为 utf-8,我该怎么办?或者应该如何修改 wikiprep.pl 以避免此类问题。
非常感谢
-- [已解决] 我应该先解压文件。