概要
最近 WordPress サイトを移行しながらutf8mb4文字セットに関連する問題を経験したことがあります。 当時はsqlファイルを直接変更して問題を解決しました。 この記事では、直接sqlファイルを変更せずに問題を解決する方法について簡単に説明します。
この時までにutf8エンコーディングを使用することを知っているのに、なぜ突然utf8mb4問題が発生するのでしょうか? WordPress 文書によると、 WordPress 4.2で、テーブルを(可能な場合)utf8mb4にアップグレードするとします。 サイトは 以下の条件を満たしている場合にのみアップグレードされます。
- utf8文字セット(char set)を現在使用しており、
- MySQLサーバのバージョンが5.5.3以上(MariaDBのすべての10.xバージョンを含む)であり、
- MySQLクライアントライブラリのバージョンが5.5.3以上。 mysqlnd、5.0.9以降を使用している場合。
たとえば、ローカルで WordPress 作業をした後に、実際のサイトに移行するためのDBを移動するときは、次のようなエラーが発生する可能性があります。
#1273 - Unknown collation: 'utf8mb4_unicode_ci'
このエラーが発生する理由は、インポート(Import)するsqlがutf8mb4エンコードを使用しているMySQL server version 5.5.3で作成されている可能性の可能性があります。
実際にMacでローカルに作業した後、実際のWebホスティングサーバーに移行する場合には、このような問題が発生する場合を見たことがあります。 このような問題が発生した場合は、次のような方法で問題を解決することができます。
まず、DB処理をするときは、常にバックアップをしておくようにします。 このタスクを実行する前に、必ずDBのバックアップをしてください。
2017年7月追加:phpMyAdminでカスタムの方法では、DBのエクスポート
以下の内容はうまくいかない場合が多いです。 DBをエクスポートするとき」互換性を最大化することができるデータベースシステムまたは以前のバージョンのMySQLサーバ「のオプション MYSQL40に設定すると、問題が解決することができます。
しかし、この方法を使用しても同じ奇妙な文字がたくさん含まれていることができるとね。 そのような場合TinyMCE WYSIWYGエディタで問題を起こしているとします。 ページ多くないいちいちコピーして貼り付けすればよいがそうでなければ、問題があると思われる。
もしこのように奇妙な文字が含まれている場合には、直接sqlファイルを修正する必要があります。 このような作業を指示するが難しければ、このブログの サービスお問い合わせとを介してサービスを依頼することができます。
プラグインを使用する
WP Migrate DBプラグインを使用すると、このような問題を解決することができるとします。 この方法がうまくいかないと、上で説明した手動でDBをエクスポートする方法を使用してください。
WordPress ダウングレード
WordPress バージョン4.2以前のバージョンにダウングレードした後、DBをエクスポートする方法も考えてみることができます。 WordPress ダウングレードの方法は、 この記事を参考にしてみてください。
以上、 'utf8mb4'文字セットの問題として WordPress 前時に問題が発生した場合に対処できる方法について説明しました。 WordPress サイトを移行する場合は この記事を参考にしてみてください。
文よく読みました。
現在のローカルで作業をして cafe24テーブル2つを移そうとします。
記事に書いてあるとおりUnknown collation:「utf8mb4_unicode_ci」エラーが開いていて、まだ解決をしました。
ローカルでexportするとき
Database system or older MySQL server to maximize output compatibility withオプションを
mysql40に変えてくれたも解決にならなくています。
ひょっとして、ローカル環境では、テーブルとDBのcharsetも変えブワトヌンデドませんね。
どのようにすべきかの感覚ないています。
WordPressで、基本的に提供されるテーブルではなく、自分で作ったテーブルなのにこんなことも問題になるでしょう?
こんにちは? コメントを残していただきありがとうございます。
個人的にはDBのcharset情報を修正して問題を解決しました。どのように接近するのが良いか感が取れませんね。 charset情報を誤って修正したのではないでしょうか?
回答いただきありがとうございます。
新しく作成されたテーブル2つ移そうとする目的が、プラグインを作成したが、そのプラグインで扱うデータを別々に管理したいという気持ちからでした。
まだ初心者とモルヌンゲ多くあれこれ調べずに途中の質問をいただいたよう申し訳ありません。
プラグインの中でテーブルを作成するコマンドがあって、現在では、プラグインのインストールと、新しいテーブル2の生成にしました。
もう一度気ありがとうありがとうございます。