Re: 習作:MT形式のd3blogインポート

  • このフォーラムはコメント用フォーラムです。新規トピックはたてられません
  • このフォーラムではゲスト投稿が許可されています
対象モジュール なーお'n研究室
件名 習作:MT形式のd3blogインポート
要旨 ページ内コンテンツ Movable Type形式の d3blogインポート 1、参考: MovableTypeのデータをWordPressに移行したい。(のぶのぶXOOPS) 2、d3blogインポートの制約 3、インポー...

投稿ツリー

トピック


前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 .2 | 投稿日時 2008/7/13 2:03
風鈴♪ 

こんな時間まで悩んでいます。
mysqlが4.×だと使えないのでしょうか?
何度やっても0:記事執筆者名がDB未登録
となってしまいます。
一応d3blogでは二つ程記事をエントリーさせたのですが…困りました?

アドバイスをよろしくお願いいたします。

    • こんな感じです

Importing post... 0:記事執筆者名がDB未登録:スキップsql=SELECT * from ××××_d3blog_entry WHERE title = '' AND created = DB ERROR: Failed to select from ××××_d3blog_entry

投票数:0 平均点:0.00
返信する
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2008/7/13 8:09 | 最終変更
なーお  長老   投稿数: 1746

風鈴♪ さん、こんにちは。

拙作をご試用いただきましてありがとうございます。 :-)

 こちらにはmysql4.xの環境が無いので確認できませんが、記事編集者名と同一名称のユーザーがxoopsに登録されていない、と出ていますので、そのへんをチェックしてみましょう。
 このスクリプトでは、記事に合せてxoopsユーザーを生成するようなことはしていません。 既存ユーザーが存在した場合に、インポートされます。

  1. 記事と同一のユーザー名がxoopsサイトに存在するか。
  2. そのユーザー名が日本語名の場合は、文字コードの関係がありそうです。 試しに、記事のユーザー名を英数字だけのユーザー名に合せて一括変更し、同一ユーザー名をxoopsサイトのほうにも作ってみて、試してみて下さい。

こちらの環境では、日本語ユーザー名でもOKでしたけど、これはあくまでDB上の文字コードが日本語(EUC)で合致していたからですね。 DB文字コードがUTF-8の場合は、「6行目のMT形式ファイルの文字コードがEUC-JP以外なら変更して」 をUTF-8 に変更してみて下さい。

それでもだめな場合は、
$importdata = mb_convert_encoding($importdata, MTFILECODE, $mt_enc);

の最後の引数、 $mt_enc を、 → "EUC-JP とか、 "UTF-8" と生書きして変更してみてください。

いかがでしょうか。

投票数:1 平均点:10.00
返信する
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2008/7/13 9:45
風鈴♪ 

早速のお返事有り難うございます!
日本語(風鈴でした!)名でしたので、一応それを半角英数字のハンドルにブログデータもxoopsの管理者も変更。

でも今度は違うエラーが出てしまいました?。
なんででしょう。

Importing post... 3:furinsql=SELECT * from ××××_d3blog_entry WHERE title = '' AND created = DB ERROR: Failed to select from ××××_d3blog_entryWarning [PHP]: mb_convert_encoding() [function.mb-convert-encoding]: Illegal character encoding specified in file /home/○○○/xoops_trust_path/modules/d3blog/import.php line 129

なお文字コードはxoops本体も含めて全てeuc-jpで統一してあります。
お忙しい所恐縮ですが、ヒントを戴けると嬉しいです!

投票数:0 平均点:0.00
返信する
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2008/7/13 9:56 | 最終変更
なーお  長老   投稿数: 1746

風鈴♪さん

すみません、問題の129行目の文字コード変換の部分、私の勘違いが発覚しましたので、ver0.3をアップしましたから、そちらに変更して下さい。

その上で、MT形式ファイルの文字コードの認識でバグっているようですから、

1
2
$mt_enc = mb_detect_encoding($importdata);
$importdata = mb_convert_encoding($importdata, MTFILECODE, $mt_enc);

 ↓ これを下のように変更

1
2
//$mt_enc = mb_detect_encoding($importdata); ←コメントアウト
$importdata = mb_convert_encoding($importdata, MTFILECODE, "EUC-JP");

あるいは、全てEUC-JPということですから、

1
2
//$mt_enc = mb_detect_encoding($importdata); ←コメントアウト
//$importdata = mb_convert_encoding($importdata, MTFILECODE, $mt_enc); ←コメントアウト

で試してみていただけますか。
お手数をおかけします。

以下、メモ。
http://phpspot.net/php/man/php/function.mb-convert-encoding.html

投票数:1 平均点:10.00
返信する
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2008/7/13 11:11
風鈴♪ 

大変ご迷惑ばかりおかけしています。
申し訳ない気持ちでいっぱいです!

ver0.3を使用し、なーおさんのおっしゃる通りに
1行だけコメントアウト、

2行ともコメントアウト

コメントアウトなし

の3パターンで試してみました。
いずれも同じ表示が出ました。

    • 以下、こんな感じです。
      You must edit the MTEXPORT line as described on the previous page to continue.

previous pageには
modules/d3blog/import.php
のリンクが貼られた状態になっています?

もしお時間ありましたら引き続き宜しくお願いいたします。
本当にすみませんです???(>.<)

投票数:0 平均点:0.00
返信する
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2008/7/13 11:22
なーお  長老   投稿数: 1746

風鈴♪さん

落ち着いて、落ち着いて。。

ver0.3をダウンロードしていただいたのですから、5行目を編集してご自身のMT形式データファイル名をフルパスで指定しなおさないといけません。

よろしくです。 :-)

投票数:1 平均点:10.00
返信する
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2008/7/13 12:03
風鈴♪ 

でーーきーーたーーーー!!!!
感動ですっ。
有り難うございます。

いや?お恥ずかしい。
確かにフルパスの指定しないで呼び出してました(爆)

あ?嬉しいです?????
昨日からずーっと悩んでいたのですが、思い切ってご相談して良かったです。
これでD3BLOGの導入が決定です。

なーおさん、朝から本当に本当にお世話になりました。
私のエントリーは600くらいでしたが、昨日の夜(って言うか殆ど朝)には、コピペで手作業ってコースで頑張るかね…と諦めモードでした。
本当に嬉しい!
多少、カテゴリの整理など編集作業が残っていますが、ぐっとぐっと楽になりました。
心より御礼申し上げます。
本当に有り難うございましたm(_ _)m!!

投票数:0 平均点:0.00
返信する
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2008/7/13 12:56
なーお  長老   投稿数: 1746

風鈴♪さん

できましたか! 良かったです。 :-)
私もお役に立てて、とても嬉しいです。

今回の問題は、「mb_convert_encoding」が原因だと思いますが、 上記参考サイトでは、 PHP 4.0.6以上、または PHP 5 で動作可能とあります。

参考までに、風鈴♪さんのPHPの正確なバージョンをお知らせいただけますか? よろしくお願いします。 ;-)

投票数:0 平均点:0.00
返信する
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2008/7/13 14:16 | 最終変更
風鈴♪ 

ご報告です。
私のサーバのphpのバージョンは
5.2.6
となっています。

幸せな気持ちでXOOPSサイトの構築作業をしています :-)
ところで先程はコーフンしてて正確な事をお伝えしなかったのですが、私の方はカテゴリは全部ちゃんと追加されてました♪

投票数:0 平均点:0.00
返信する
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2008/7/13 16:29 | 最終変更
なーお  長老   投稿数: 1746

風鈴♪ さん、お返事ありがとうございます。

php5ですか。。 「mb-convert-encoding」がなぜうまく行かなかったのか、よくわかりませんね。。なぜだろう??  :roll:

まあ、インポートはうまく行ったから良しとしますか。 :-D

投票数:0 平均点:0.00
返信する

このトピックに投稿する

題名
ゲスト名
投稿本文
  条件検索へ