2

WikiPrep を使用して、最新の wiki ダンプ enwiki-20121101-pages-articles.xml.bz2 を処理しています。「Parse::MediaWikiDump; を使用する」の代わりに それを「use 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

それで、私の質問は、ウィキ ダンプのエンコード形式は何ですか。それを utf-8 に変換したい場合、どうすればよいですか? または、このような問題を回避するには、wikiprep.pl をどのように変更する必要がありますか。

どうもありがとう

-- [解決済み] 最初にファイルを解凍する必要があります。

4

1 に答える 1

1

XML ファイル自体ではなく、ファイルの圧縮 (bz2) バージョンで iconv を実行しています。最初に解凍します。

(この解決済みの質問が未回答としてリストされないように、borrible の回答を投稿します。)

于 2015-04-06T11:46:37.533 に答える