WordPressで記事を書いていて、
ふと絵文字を入れた瞬間。
「データベースが更新されませんでした」というエラーが表示されて、投稿の更新ができなくなる。
この記事は、そんな突然のエラーに悩まされた方に向けた解決記事です。
実際、私自身もサーバー移管後にこの問題に直面しました。
以前は普通に絵文字を使えていたのに、サーバーを変えた途端、記事を更新すると「データベースが更新されませんでした」と表示され、更新できなくなるエラーが発生。
調べていく中でわかったのは、MySQLの文字コードと照合順序の設定に原因があるということでした。
この記事では、このエラーが起こる仕組みと、誰でも実行できる解決手順を、ステップ形式で解説します。
なぜエラーが起きるのか?原因はデータベースの文字コード

WordPressで絵文字を使ったときに「データベースが更新されませんでした」というエラーが出る原因のひとつは、データベースの「照合順序(collation)」が古い形式になっていることです。
具体的には、utf8とutf8mb4(utf8mb3)の違いについてです。
utf8(=utf8mb3)
- 実際には「utf8mb3」という3バイト形式の旧仕様
- 古い文字や一部の白黒絵文字は保存できる
- 最新のカラフルな絵文字や複雑な記号は保存できない
- 保存できないデータを無理に入れようとすると、エラーになる
utf8mb4
- utf8を拡張した4バイト対応の文字コード
- 新しい絵文字を含め、より多くの文字に対応可能
- WordPress公式でも推奨されている設定
utf8mb3_general_ciになっていたテーブル(私の場合)
- wp_commentmeta
- wp_comments
- wp_links
- wp_options
- wp_postmeta
- wp_posts
- wp_termmeta
- wp_terms
- wp_term_relationships
- wp_term_taxonomy
これらは、WordPressの投稿、コメント、設定などに関わる重要なテーブルです。
これらをutf8mb4_unicode_ciに統一することで、絵文字を使用できるようになりました。
解決策:データベースの文字コードをutf8mb4に変更する

ここからは、実際に私が行った解決手順をステップ形式で紹介します。
ステップ1:データベースのバックアップを取る
まず最初に、必ずバックアップを取りましょう。
下手したらサイト全体が壊れる可能性も考えられるので、最悪の場合に備えてバックアップを取りましょう。
【手順】
- サーバーの管理画面から「phpMyAdmin」にログイン
- 左側から対象のデータベースを選択
- 上部メニューの「エクスポート」をクリック
- エクスポート方法は「簡易」を選択
- フォーマットは「SQL」のまま「実行」ボタンをクリック
※データベースの仕様などは一部違いがあるかもしれませんが、やること自体は同じです。
これで、現在のデータベースの状態を保存したファイルがダウンロードされます。
これで万が一うまくいかなかったとしても、元に戻すことができます。
ステップ2:テーブルの照合順序が古い文字コードになっているものを探す
該当のデータベースを選択すると、テーブル一覧が表示されます。
照合順序という項目があるので、その欄に記載されている文字コードをチェックしましょう。
ステップ3:テーブルの照合順序をutf8mb4_unicode_ciに変換
【手順】
- 該当のデータベースを選択
- 古い文字コードになっているテーブルにチェックを入れて、下部の方にある「選択したテーブルを」というドロップダウンメニューをクリック→テーブルを編集で照合順序を変更します。
上記メニューが表示されない場合
再びphpMyAdminにアクセスし、データベースを選択
- 該当のデータベースを選択
- 上部メニューの「SQL」タブを開き、以下のコマンドを入力して「実行」
ALTER TABLE wwww_commentmeta CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
ALTER TABLE www_comments CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
※www_の部分はテーブル接頭辞になるので、人それぞれ異なります。ご自身のテーブルに合わせてください。
※該当するテーブル全てを上記の規則性にならって追加してください。
実行後に「返り値が空でした」と表示されたら成功です。
設定変更後の確認方法

ここまで終えたら、WordPressの投稿画面で絵文字を入力して更新ボタンを押してみましょう。
例:🌟😊✨🎉🚀
エラーが出ず、正常に保存・公開できれば成功です。
もしうまくいかない場合は:
- ブラウザのキャッシュを削除
- キャッシュ系プラグインを無効化
- 旧エディタ・ブロックエディタの切り替え
- テーマやプラグインの競合を一時的に無効化して確認
なども検討してみてください。
まとめ
- WordPressで絵文字が使えない場合、「データベースが更新されませんでした」というエラーの主因は、古い文字コード(utf8mb3)にある可能性がある。
- WordPressで絵文字を安全に使うには、utf8mb4(照合順序は utf8mb4_unicode_ci)への変更が必要。
- 古い文字コードのテーブルが混ざっている可能性もある
- phpMyAdmin内で文字コードを修正することで絵文字が使えるようになる
- バックアップは必須
絵文字が使えるようになると、
記事をキャッチーにすることができます。
もしも「絵文字を使いたいのに使えない」という状況なら、ぜひこの方法を試してみてください😊✨🎉😊✨🎉😊✨🎉😊✨🎉

