Movable Type で「~」が「?」に文字化けする事象や日本語のタグが合算できない不具合を解消する

| コメント(0) | トラックバック(0)

Movable Type で MySQL 5を利用している際に、

  • ブログ本文などに含まれる「~」という文字などが「?」に文字化けする
  • 日本語のタグが合算できない(Aブログ記事とBブログ記事に同じ日本語のタグを付与した場合、タグ一覧などで2件とならず、それぞれ1件として表示される)

といった不具合を解消する方法を紹介します。

すでに多くのサイトで紹介されているので目新しい情報ではありませんがとりあえず。

1.原因

タイトルの不具合が生じる原因は、対象テーブルのカラムの照合順序が「ujis_japanese_ci」になっているためのようです。この照合順序を「utf8_general_ci」にすることで解消しているようです。

ちなみに、「照合順序」とはデータベースから select する際のルールを示すもののようで、

  • ujis/utf8:文字コード
  • japanese/general:照合形式
  • ci/cs:大文字・小文字を区別する・しない

という意味があります。

また、「大文字・小文字の区別」は英文字だけでなく、全角・半角や日本語の濁音・清音も含まれるようです(どのように区別されるかは、japanese/general の設定に依存)。

2.対策

以下、phpMyAdmin を使って「ujis_japanese_ci」を「utf8_general_ci」にする設定を紹介します。phpMyAdmin ログインした状態から説明します。

2.1 ブログ記事の文字化けを解消する場合

左メニューより mt_entry テーブルをクリック。

mt_entry テーブルをクリック

次の画面で「構造」のタブが選択されていることを確認し、mt_entry テーブルのフィールド一覧が表示されるので、一番下の「すべてチェックする」をクリック。これですべてのテーブルのチェックボックスがチェックされます。

「すべてチェックする」をクリック

「すべてチェックする」の右側にある鉛筆マークのアイコンをクリック。

アイコンをクリック

照合順序に「ujis_japanese_ci」が表示されているものについて「utf8_general_ci」に変更し、「保存」をクリック。照合順序が選択されていないものは変更しないでください。

照合順序を変更

以上です。なお、一度文字化けしてしまったものについては手作業で修正が必要なようです。

2.2 日本語の連結ができない不具合を解消する場合

mt_tag テーブルについて、2.1と同様の変更を行います。

照合順序を変更

こちらも、変更後に追加したタグについては合算されますが、既存のタグは合算されないようです。

2.3 その他

コメントの文字化けを変更する場合は mt_comment、トラックバックは mt_tbping / mt_trackback ですが、一通りやっておくとよいでしょう。

    

 

トラックバック(0)

トラックバックURL: http://y-ok.com/mt-tb.cgi/319

コメントする

このブログ記事について

このページは、雄が2013年4月26日 06:54に書いたブログ記事です。

ひとつ前のブログ記事は「フローレス島の小柄な新種、初期ジャワ原人が祖先か-東大と国立科博、脳容量を精密測定」です。

次のブログ記事は「FIREFOX16でMTのカテゴリが選択できない不具合の対策」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

最近のブログ記事