制作会社から制作会社じゃない会社に転職が決まりました。制作会社で学んだことを残らず記事にしたいと思います。

パンDKOTORI Blogの公式キャラクター「パンD」です。
コーディングWordPressデータベース移行でWordPressの記事が文字化け

データベース移行でWordPressの記事が文字化け

2014年01月23日WordPress データベース 
データベース移行でWordPressの記事が文字化け記事のアイキャッチ画像

データベースのバージョンアップの際にWordPressの記事やコメントが文字化けする現象に見舞われました。原因が分からず丸一日つぶれました。同じ人が現れないように解決方法を紹介します。

まえがき

いや~ひさびさにはまりました。
丸1日!!!

しかも超くだらいことが原因だったという。
あ~思い出すだけでも悔しいが溢れてくる笑

何にはまってしまったかというと、まぁタイトルにも書いてありますが

データベースの文字化け

です。

WordPress2.7を3.8にアップデートするためにデータベースを5.0以上にする必要があるのですが、元々使用していたMySQL 4.0.24のデータベースのデータをMySQL 5.6にインポートすると何故かWordPressの記事の部分が文字化けするという現象です!!

それでは解決までの道のりを書いていこうと思います。

WordPress2.7はMySQLバージョン 5.0 以上だと動作しない??

KoToRi的にとりあえずWordPress2.7のままデータベースだけ最新バージョンのMySQL5.6に移行して、WordPressの自動アップグレードでWordPress3.8にアップグレードしようと思いました。

まずMySQL5.6のデータベースを用意して「wp-config.php」のデータベース設定のところをMySQL5.6の情報に変更して確認すると

データベース接続確立のエラー

と表示されました。

入力している情報は確実に合っているのですが何回やってもデータベース接続確立のエラーが出るのですぐ諦めました。

恐らく最新のMySQLでは古いWordPressは動かないのでしょう。ここはそんなに問題ではありません。

WordPressの記事やコメントが文字化け

しょうがないので別でWordPress3.8をインストールしてからデータベースのデータを移行しようと思いました。

とりあえずWordPress3.8の環境を作るところまでは問題なくできたのですが古いデータベースのデータをエクスポートして新しいデータベースにインポートすると

WordPressの記事やコメントが文字化けしてる

因みにKoToRi的に遭遇したくないトラブル第1位は「文字化け」です笑
気分は最悪でした。

文字化けの原因

まず大事なのはドコの工程で文字化けが発生しているかです。

古いMySQLバージョンから新しいバージョンのデータベースにデータをインポートして文字化けするというシチュエーションだったら一番に確認してほしいことがあります!!
それは

古いMySQLがphpMyAdmin上で文字化けしているか

です。

別にphpMyAdminじゃなくてもデータベースのインポートやエクスポートを行うツール上でそもそも文字化けしているか。ここを見落としがちです。
こういう症状の場合、どうしてもエクスポートの設定やインポートの設定に目が行きがちですよね。

でも、KoToRiの場合はこれが原因で丸1日はまりました。
そもそもphpMyAdminで文字化けして表示されている状態でエクスポートしても文字化けしたものが吐き出されるに決まってます笑

phpMyAdmin上で文字化けするとは

phpMyAdmin上で文字化けするとはどういう事かというとWordPressの場合は「wp_posts」のテーブルを見てもらうと分かりやすいかと思います。

phpMyAdminにログインしたらサイドバーから「wp_posts」のテーブルを選択して「表示」タブをクリックすると各記事の情報が表示されます。

phpMyAdmin上で文字化け

確認すると文字化けしていますね。

phpMyAdmin上で文字化けする場合の解決方法

これは超気づきにくいのですが旧バージョンのphpMyAdminだとログインする時に文字コードを指定する項目があります。

文字コード指定項目

WordPressの文字コードはUTF-8なので、EUCとかでログインすると文字化けしてしまいます。
今回の原因はここにありました。ほんとくだらない笑

日本語のUTF-8でログインしてください。

UTF-8を指定

すると文字化けも解消され問題なくデータをエクスポートして、新しいデータベースにインポートできました!!
「TYPE=MyISAM」のエラーはありましたが。。。
データベースのインポートでエラー「TYPE=MyISAM」

まとめ

灯台下暗しといいますか、非常に悔しいです。こんなんで一日潰したことが笑

データベースあまり詳しくないし文字化けは遭遇したくないトラブル第1位で、その二つに圧倒されて判断力が欠如してしまったのかもしれません><

いつでも冷静に判断できるメンタルを持ちたいものですね。

ただ、こういったトラブルは、どの工程で異常が起きているのか順序よく考えていくというのが解決への一番の近道だなと感じました。
これを肝に銘じることができたということで、この件はよしとしましょう。

シェアするみんなシェアしてね

フォローするフォローする

いつもKOTORI Blogをご覧いただきありがとうございます。Facebook、Twitterを通じて、皆様と交流していき色んな情報を共有していければな~と思ってます。お気軽に登録してください!

基本フォロー返します。

RSSを登録する

RSSはこちらから。

follow us in feedly

Feedly使ってる人はこちらから。

Buy me a Beer

動く!パンDのLINEスタンプ
好きな人にアプローチスタンプ
パンDのLINEスタンプ

関連する記事関連する記事も読んでみてね

コメント

  • 通りすがり

    当方MTですが、全く同じ現象で、半日はまっていました。
    しかしながら、こちらの記事でスパッと解決しました。
    あまりの原因に力抜けました。
    本当にありがとうございます。大変助かりました。

    • kotoriblog

      通りすがりさん
      初めまして!コメントありがとうございます!
      いや~この罠ホント引っかかっちゃいますよね!
      お役に立てて嬉しいです!!