Movable Type 5.0 にアップグレードする場合の注意事項

Movable Type 5.0 にアップグレードする場合の注意事項

Posted at December 8,2009 1:17 AM
Tag:[5.0, MovableType, Upgrade]

Movable Type 4.x から Movable Type 5.0 にアップグレードする場合の注意事項です。

1.環境変数 DefaultLanguage を設定する

アップグレード実行前に mt-config.cgi に環境変数 DefaultLanguage を設定してください。

DefaultLanguage ja

新規インストールではインストールウィザード実行により、この環境変数が自動的に設定されますが、Movable Type 4 まではこの環境変数が設定されていません。

設定されているか、そうでないかは最初のアップグレード画面で判別できます。

環境変数 DefaultLanguage を設定していない場合のアップグレード画面
環境変数 DefaultLanguage を設定していない場合のアップグレード画面

環境変数 DefaultLanguage を設定した場合のアップグレード画面
環境変数 DefaultLanguage を設定した場合のアップグレード画面

この設定を行なわないでアップグレードを行なうと、コメント通知で文字化けが発生することを確認しています。

設定を行なわなかった場合のコメント通知
設定を行なわなかった場合のコメント通知

設定を行なった場合のコメント通知
設定を行なった場合のコメント通知

テンプレート名なども英語が混在する可能性があります。下は環境変数 DefaultLanguage を設定しなかった場合のグローバルテンプレート一覧です。すべて英語表記になってしまってます。

「初期状態にリセット」

テンプレートの表示を直すには、テンプレート一覧画面右にある「テンプレート初期化」をクリックして、「初期状態にリセット」を選択してください。

「初期状態にリセット」を選択

これで次のように直ります。

グローバルテンプレート一覧(修正後)

なお、DefaultLanguage はアップグレード後に追加しても有効になります(上の実験は後で追加してうまくいったものです)。

2.環境変数 SQLSetNames を設定する

データベースがMySQL 5.x で UTF-8 を利用している場合、mt-config.cgiに環境変数 SQLSetNames に 0 を設定します。

SQLSetNames 0

環境変数 SQLSetNames は、データベースへアクセスする際、利用する文字コードを 環境変数 PublishCharset で設定された文字コードに合わせるためのものです。1 を設定すれば、データベースの文字コードを PublishCharset の設定にあわせます。0 を設定すれば、データベースの文字コードにあわせます。

ただし、逆に文字化けしたという記事(以下)もあるので、ブログで利用している文字コードが UTF-8 であれば特に設定を行なわなくてもよいかもしれません。

関連記事
トラックバックURL


トラックバック

アップグレードでつまづいたこと from accoun.Diary!
いまさらではありますが、MovableType5へのアップグレードの時につまづいたことを。。。   まぁ、作業をしていて特別にコレって問題はなか... [続きを読む]

Tracked on March 6, 2010 11:38 AM
コメント

いつも大変参考にさせていただいています。
MT4.261→5.02にアップグレードしたのですが、
テンプレートにエラーが出てしまいます。ご回答がいただけない場合もあるかと思いましたが、質問させてください。

MySQL:5.0.45
phpMyadmin:2.8.2.4
サーバー:クララオンライン

既存のデータベースを残して、MT5へアップグレードできたのですが、再構築すると、テンプレートに大量のエラーメッセージがでます。エラーは以下です。

<MTEntryPermalink$?phpMyAdmin=VpSMv5TcIyI8tPYyWdo1FWNiAbf>は存在しません (168行目)。

ハテナ以下は全て同じでいくつもエラーが出てしまいます。「?phpMyAdmin=VpSMv5TcIyI8tPYyWdo1FWNiAbf」

実際にそこには何もはいっていないので、上記部分を削除するとエラーはなくなります。が、その量がはんぱではないので、ひとつひとつ消していくことが大変です。

例)
MT4→<li><a href="../profile/index.html">会社プロフィール</a></li>

MT5→<li><a href="../profile/index.html?phpMyAdmin=VpSMv5TcIyI8tPYyWdo1FWNiAbf">会社プロフィール</a></li>

phpmyadminでテーブルの「照合順序」をコードを「utf8_general_ci」にしてアップグレードしても結果は同じでした。
文字化けとは違うと思うのですが、原因は何かご存知でしょうか……
もしおわかりになれば教えてください。

[1] Posted by meico : July 15, 2010 5:50 PM

>meicoさん
こんばんは。
ご返事遅くなってすいません。
ご質問の件ですが、当方では原因不明です。
テンプレートの内容自体に「?phpMyAdmin=VpSMv5TcIyI8tPYyWdo1FWNiAbf"」が含まれているのであれば、置換機能で一括変換してください。

具体的には、「ツール」→「検索」で、テンプレートタブを選択し、検索文字に「?phpMyAdmin=VpSMv5TcIyI8tPYyWdo1FWNiAbf"」を入力して検索し、次の画面で「検索/置換」を選択して、検索結果に表示されたすべてのテンプレートをチェックして、置換したい文字列(この場合は何も入力しない)を設定して「選択したものを対象に置換」をクリックします。

それではよろしくお願い致します。

[2] Posted by yujiro logo : July 25, 2010 10:06 PM
コメントする
greeting

*必須

*必須(非表示)


ご質問のコメントの回答については、内容あるいは多忙の場合、1週間以上かかる場合があります。また、すべてのご質問にはお答えできない可能性があります。予めご了承ください。

太字イタリックアンダーラインハイパーリンク引用
[サインインしない場合はここにCAPTCHAを表示します]

コメント投稿後にScript Errorや500エラーが表示された場合は、すぐに再送信せず、ブラウザの「戻る」ボタンで一旦エントリーのページに戻り(プレビュー画面で投稿した場合は、投稿内容をマウスコピーしてからエントリーのページに戻り)、ブラウザをリロードして投稿コメントが反映されていることを確認してください。

コメント欄に(X)HTMLタグやMTタグを記述される場合、「<」は「&lt;」、「>」は「&gt;」と入力してください。例えば「<$MTBlogURL$>」は「&lt;$MTBlogURL$&gt;」となります(全て半角文字)