2014

2

14

Movable Typeでタイトル・記事・カテゴリ名が原因のエラー調べてやんよ!!!

スポンサードリンク


Movable Typeで記事を投稿する際にテンプレートエラーではない見慣れないエラーがでてしまった。
タイトル名を変更して投稿し直したら投稿ができたので何のエラーなのか気になって調べてみました。

エラー名『DBD::mysql::st execute failed』

記事を投稿したときに「DBD::mysql::st execute failed」というエラー名が出た場合

MTは本来UTF-8の文字コードの初期設定ですが、旧式のガラケーにも対応させているサイトは文字コードをShift_JISの仕様で設計していると思います。

そのためブログ記事の本文やタイトル、カテゴリ名などの末尾に、文字データの 2 バイト目が「0x5c」となる文字が入力された場合に発生します。
具体的には以下の文字が該当します。

噂 浬 欺 圭 構 蚕 十 申 曾 箪 貼 能 表 暴 予 禄 兔 喀 媾 彌 拿 杤 歃 濬 畚 秉 綵 臀 藹 觸 軆 鐔 饅 鷭 偆 砡
のいずれかが末尾に入るとエラーが起こってしまう様です。


対応策

この現象は、データベースの文字コードの扱いに起因する問題のため、Movable Type 側の設定等では回避できない様です。
  • エラーの該当となってしまった文字の直後に空白(スペース)を挿入する
  • Shift_JIS 以外の文字コードに変更する

上記の方法でエラーを回避できます。

まぁ、かなりマニアックなエラーに遭遇した貴重な経験という事です。


トップへ