WP 3.8.6 とか 4.1.2 ぐらいから新規投稿できなくなってた


ようやく対応しました。

原因はデータベース中に『照合順序』が「utf8_general_ci」になっていない項目があったこと。なので対処法は phpMyadmin からの設定変更でした。ちなみに以前の設定は「ujis_japanese_ci」でした。

なんでそんなことになってたかといえば、たぶん最初にインストールした頃から引き継ぎ続けてたんだと思います。

当時は WordPress ME だったし、さくらのデータベースも4系だったし、ということでどっちかのデフォルトが ujis だったんでしょう。

中身の文字コードは ME から本家(?)へ移行する時かなんかに Unicode へ変換した記憶があるので、たぶんこれで大丈夫なんじゃないかなぁ。

おかしくなった直後にいろいろ検索してみたところ、直接の引き金は WP から DB へアクセスする時にこれまでは照合順序を調べたりしてたのをすっ飛ばして utf8_general_ci でやっちゃうようになったということらしいです。

なので対処法として db.php を1行書き換えるとか旧バージョンへ差し替えるとかが紹介されていましたが、コアファイルをいじるのはちょっとアレなので、DB のほうの設定を変えてみました。

どこまでやればいいのかよくわかりませんでしたが、結局、フィールドの設定を変える必要がありました。データベースとテーブルまでじゃ変化無しだったので。

とりあえず投稿だけなら posts テーブル内だけでもよかったんでしょうが、どう考えても他のとこも影響しそうなので全部変更。それなりに数があるからめんどくさい、プルダウンからポチポチだし。いやだからって SQL を自分で書けるように修行するほどの根性は無いです。すいません。

最初は新規インストールしてそこへデータを流し込んで、さらにアドレスを変更して……なんてことも考えてたんですが、まぁ、いっか。

とりあえず動いてるみたいなので様子見です。


コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です