, , ,

サーバー移行時のエラー!Unknown collation: ‘utf8mb4_unicode_520_ci’の解決法

Posted by

サーバー移行に良く起るエラー「phpmyadminのバージョン互換性について」

プログラミング業務において、必ず互換性があります。
使用しているレンタルサーバーも違えば、サーバーの環境などが当然違います。

サイトを完成させたけれど、本番環境へ移行する際、クライアントサーバーでは移行できないことや、使用している環境では動かないこともしばしば。

一番プログラミングで大変かつ腹が立つ作業は、デバック(エラー処理)です。
当然、人が作るわけですから、エラーの原因もバラバラで対処もバラバラです。

その中でも、あるある良くあるエラーについてご紹介しています。

sqlのエラー文を自力で解決する

あるあるエラーで良くあるのが、文字コードによるエラー。
テスト環境から本番環境へ移行の際に、良くあるエラーを紹介します。

企業サイトのリニューアルなどしていると、自分のテスト環境とクライアントのサーバーが違うことが良くあります。

良くあるサーバ移行時のsqlエラーの一つとして、「Unknown collation: ‘utf8mb4_unicode_520_ci’」というメッセージ内容のエラーが起こることがあります。

このエラーの内容と原因

なぜこのエラーが起きるのかというと、これは仮想サーバーのデータベースのバージョンが低い場合に出る事があります。

Unknown collation」とは、不明な照合・・その物がないと言っています。

もう少し噛み砕くと、「utf8mb4_unicode_520_ci」という collation は「 MySQL5.6以上」 でしか使えない仕様になっています。

sqlのエラーを解決する方法

プログラミングにおいて、必ずバックアップをとる習慣をつけましょう。
安易に変更などすると、壊れて修復できなくなります。
なので、先にローカルに保管をしてから行ってください。

splからインポートしたデーターをatomなどのエディタで開き以下を書き換えてください。

①Ctrl+Fで「utf8mb4_unicode_520_ci」を探し、「utf8_general_ci」に一括置換します。

②Ctrl+Fで「utf8mb4」と書かれた部分を探し、全て「utf8」に置き換える。

phpmyadminにログインして、書き直したsqlをインポートすると正常に入ります。

PAGE TOP