Movable Typeのエラー「不正な要求です。文字コードUTF-8に含まれない文字データを送信しています。」の原因と解決方法

先日、私のブログのMovable Typeのタグクラウドで、日本語文字列のタグをクリックすると、以下のエラーが発生していることに気付いた。

Movable Type
エラーが発生しました。
不正な要求です。文字コードUTF-8に含まれない文字データを送信しています。

このエラーには心当たりがあった。

2015年1月21日のXREAのメンテナンス後に、私のブログのMovable Typeのデータベースの文字コードをEUC-JPからUTF-8に変更したので、その関係だろう。

HTMLソースを見てみると、データベースの文字コードをUTF-8に変更した後も、以下のように、HTMLファイルで指定されているメタタグの文字コードがEUC-JPのままになっていた。

<meta http-equiv="Content-Type" content="text/html; charset=euc-jp" />

タグクラウドの検索ページに遷移する際に、リンク元のページのHTMLファイルの文字コードがEUC-JPで、タグクラウドの検索ページの文字コードがUTF-8だと、文字コードが異なるため、うまくいかないのであろうと思った。

Movable Typeの管理画面にログインし、「サイトを再構築」の機能で、全てのHTMLファイルを再作成したところ、再作成したHTMLファイルの文字コードが、EUC-JPからUTF-8に変わった。

《サイト再構築前》
<meta http-equiv="Content-Type" content="text/html; charset=euc-jp" />

《サイト再構築後》
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

Movable Typeのデータベースの文字コードを変更した場合、Movable Typeでの設定変更については、mt-config.cgi内の「PublishCharset」で文字コードをeuc-jpからUTF-8に変更するだけでよいと思い込んでいたが、どうやら、Movable Typeの管理画面の「サイト再構築」機能でHTMLファイルを再構築する必要があったようだった。

《関連リンク》
XREAの2015年1月21日のメンテナンスでMySQLデータベースが「ほぼ」空っぽになったので復旧した

前へ

写真集『それ行け!! 珍バイク HANS KEMP』を見た感想

次へ

松山東雲短期大学×セブンスターコラボ弁当「しのがる弁当」を食べた感想