Movable Typeでタイトル・記事・カテゴリ名が原因のエラー調べてやんよ!!!
タグ: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 以外の文字コードに変更する
上記の方法でエラーを回避できます。
まぁ、かなりマニアックなエラーに遭遇した貴重な経験という事です。