古いサーバで利用し続けていたワードプレスを、新しいサーバへ移築します。
元のサーバ
- php4.4.4-8
- MySQL4.0.24
ローカル
- php8
- 10.4.21-MariaDB
1.ワードプレス本体
そのままコピーしても動きません。新しいワードプレスを使って、wp-contentは今までのものを使用します。
プラグインや、テーマでエラーが出るので、エラーの出るプラグインやテーマは削除しておきます。
2.データベース
基本的には、以前と同じ状態で移築したいので、データベースをエクスポートインポートします。
- phpmyadminでエクスポート
日本語UTF8でログイン
DROP TABLEを追加
non エンコーディングへ変換 - ダウンロードしたファイルをテキストエディタで開き、
TYPE=MyISAM → ENGINE=MyISAM - phpmyadminでインポート
_options にある
メディアアップロード先を:wp-content/uploads
ブログのアドレスを移行先に合わせる
3.新しいワードプレス
表示は、プラグインやテーマに不具合があると真っ白の場合があります。
wp-login.php でログイン画面が出たのでログインします。
- 画面の指示に従ってデータベースを更新
- 日本語に設定しなおし
これで、ほぼ元通りに移築できるのですが、絵文字に文字化けするものと、文字化けしないものがあります。
🌸💛:文字化けする
⛄:文字化けしない
4.絵文字の文字化け解決
- データベースのインポートで、文字化け。文字コードを utf8mb4 とかの情報では解決できず。
なにしろ、文字化けの有り無しが混在なので文字コードが原因ではない。 - ワードプレスのエクスポートインポート機能を利用
記事の文字化けは解消できましたが、メディアとの関連が失われてしまいます。
記事の画像は表示されるが、記事との関連、メディア画面で表示ができない。
phpmyadmin ワードプレスのエクスポートインポートで文字化けしないなら、、と、ふと思いついたのが、
phpmyadmin でエクスポートする際に、csv形式にする
ブログ全体は試しいませんが、記事だけのことなので、記事のテーブル「_posts」を、csvでエクスポートインポート
インポートするときには、テーブル「_posts」を空にしておき、csvの区切り文字などをエクスポート時のものに合わせます。
うまくいきました。
結論
絵文字の文字化けする問題があるなら、phpmyadmin からcsv でエクスポートインポート で解決
ただし、エクスポートしたファイルをエディタで開いたときに文字化けしているようなら、文字コードの問題だと思うよ。