Movable Typeの復元時に「Malformed UTF-8 character~」エラーとなる対処について

Movable Typeの復元時に「Malformed UTF-8 character~」エラーとなる対処について

Posted at August 30,2010 1:55 AM
Tag:[MovableType, Restore, TroubleShooting]

先日、Movable Type のバックアップと復元を利用して、当サイトのサーバの移転を行ったのですが、復元時にエラーが発生する事象がありましたので、情報展開しておきます。

1.問題

復元時に次のようなエラーが発生し、復元が正常に完了しません。

復元時のエラー

ログには次のようなメッセージが表示されていました。

エラーメッセージ

メッセージは次の通り、「Malformed UTF-8 character~」と出力されています。

Malformed UTF-8 character (fatal) at /usr/local/lib/perl5/site_perl/5.10.1/mach/XML/LibXML/Error.pm line 217.
 at lib/MT/BackupRestore.pm line 431

このようなエラーが発生すると、エラーが発生する直前までのデータしか復元されません。

2.原因

エラーが発生する原因は、トラックバックに含まれるテキストの文字化けでした。FC2ブログからのトラックバックに含まれるサイト名やトラックバックの本文がすべて文字化けしていました。

3.対処

文字化けしているデータを修正します。すべて修正したあと、バックアップを再取得します。

修正方法ですが、まず文字化けしているデータを探します。データを探すには、バックアップ時に生成されるXMLファイルを、ブラウザ(Firefox)にドラッグします。

XMLが正常にパースできないときは、ブラウザに次のようなエラーが表示されます。

パースエラー

ドラッグするXMLファイルのファイル名は、概ね次のようなフォーマットになっています。バックアップファイルを圧縮して出力している場合は、展開した中にXMLファイルがあります。

Movable_Type-yyyy-mm-dd-hh-mm-ss-Backup-1.xml

そして、エラーが表示されたトラックバックを探します。上記の例ではIDが「6891」なので、そのIDのトラックバックを探します。IDでは検索できないので、トラックバック一覧の「編集」というリンクをポイントして、そのURLに含まれるトラックバックIDから探します。

該当のトラックバックがみつかったら、削除するか、あるいは文字化けしているデータを修正します。

トラックバック編集画面

データを修正するには、トラックバック編集画面に表示されているトラックバック元のURLをブラウザで表示し、そのページのタイトルや本文をコピーして手入力で修正します。

関連記事
zenback
人気エントリー
トラックバックURL


コメントする
greeting

*必須

*必須(非表示)


ご質問のコメントの回答については、内容あるいは多忙の場合、1週間以上かかる場合があります。また、すべてのご質問にはお答えできない可能性があります。予めご了承ください。

太字イタリックアンダーラインハイパーリンク引用
[サインインしない場合はここにCAPTCHAを表示します]

コメント投稿後にScript Errorや500エラーが表示された場合は、すぐに再送信せず、ブラウザの「戻る」ボタンで一旦エントリーのページに戻り(プレビュー画面で投稿した場合は、投稿内容をマウスコピーしてからエントリーのページに戻り)、ブラウザをリロードして投稿コメントが反映されていることを確認してください。

コメント欄に(X)HTMLタグやMTタグを記述される場合、「<」は「&lt;」、「>」は「&gt;」と入力してください。例えば「<$MTBlogURL$>」は「&lt;$MTBlogURL$&gt;」となります(全て半角文字)