🤖

MT3.2から記事を取り出し失敗。日本語データが無い?

2022/09/19に公開

MT(Movable Type)3.2で運用されているサイトをWordPressで運用するサイトに移行します。
しかしMT3.2のサイトの挙動がおかしいため、記事の書き出しを利用できません。

ローカル環境で、MT7を構築するために、LAMPを整備しました。
https://zenn.dev/masaru21/articles/408733254ad7cd
MTの環境を作るときは、移行元のユーザー名とパスワードで作りましょう。

サーバーからデータベースをエクスポートする。
文字コードがEUCのため、ウェブサイトは正しく表示されても管理画面では、文字化けが発生。

こちらの記事を元に、UTF8に文字コードを指定してエクスポート。
https://www.softel.co.jp/blogs/tech/archives/4956

mysqldump -u ユーザー名 -p -h サーバー名 --default-character-set=utf8  出力するデータベース名 > ファイル名

サーバーで、このコマンドを実行するときは、FTPでダウンロード出来るディレクト内で行うこと。

ローカルでインポートの前に、データベースのユーザーに全権を付けて準備

grant all on *.* to ユーザー名@localhost;

MT3.2で使われていたデータベースのユーザー名とパスワードで、予め権限を作ります。
そうしないと、次のような画像のエラーが出ます。

データベースの文字化けのことは、こちらのスクラップも参考にしてください。
https://zenn.dev/masaru21/scraps/a18b2a3c5052a7

mt-config.cgiの下記の部分を修正して、新しいデータベースを使えるようにします。

20 #======== DATABASE SETTINGS ==========
21
22 ObjectDriver DBI::mysql
23 Database 今のデータベース名
24 DBUser 移行元のユーザー名
25 DBPassword パスワード
26 DBHost localhost

Mysqlの設定を点検して、UFT8として使えるようにしました。

[mysqld]
max_allowed_packet=16MB
character-set-server=utf8

[client]
default-character-set=utf8

この記事が、参考になりました。
http://web.mt-systems.jp/archives/842

https://qiita.com/YusukeHigaki/items/2cab311d2a559a543e3a

https://www.javadrive.jp/mysql/ini/index5.html

PHPMyAdminで出力したファイルを修正

) ENGINE=MyISAM AUTO_INCREMENT=2 DEFAULT CHARSET=ujis;

のujisをutf8に変えます。
テーブルごとに有るので、検索して全部変えましょう。

) ENGINE=MyISAM AUTO_INCREMENT=2 DEFAULT CHARSET=utf8;

テーブル単位で、照合手順を修正してデータベースにインポートしたら、MTが読み込んでくれてアップデートが完了しました。
でも、今回、元々のデータで日本語が欠損している様子。
文字化けなら解決できますが、元々の日本語部分がない状態体、記事がない状態なので、解決策を模索しています。

記事が、無いのです。

こちらに質問して、情報を収集中です。
https://qiita.com/masaru21/questions/eba1f961f75cd6b69ee1

Discussion