Movable Type で「~」が「?」に文字化けする事象や日本語のタグが合算できない不具合を解消する
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 テーブルのフィールド一覧が表示されるので、一番下の「すべてチェックする」をクリック。これですべてのテーブルのチェックボックスがチェックされます。
「すべてチェックする」の右側にある鉛筆マークのアイコンをクリック。
照合順序に「ujis_japanese_ci」が表示されているものについて「utf8_general_ci」に変更し、「保存」をクリック。照合順序が選択されていないものは変更しないでください。
以上です。なお、一度文字化けしてしまったものについては手作業で修正が必要なようです。
2.2 日本語の連結ができない不具合を解消する場合
mt_tag テーブルについて、2.1と同様の変更を行います。
こちらも、変更後に追加したタグについては合算されますが、既存のタグは合算されないようです。
2.3 その他
コメントの文字化けを変更する場合は mt_comment、トラックバックは mt_tbping / mt_trackback ですが、一通りやっておくとよいでしょう。
3.参考サイト
以下です。ありがとうございました。
2011.02.04
本文を一部修正しました。
- MovableTypeプラグインの独自CGIをNginxに対応させる方法
- Movable Type 5で「Got an error: Can't use 'defined(%hash)' (Maybe you should just omit the defined()?)」というエラーになる場合の対処
- 旧バージョンのMTでPerl5.26(Perl5.24以降)に対応する方法
- MT6.2のファイルアップロードで「Undefined subroutine &POSIX::strftime」になる問題の対処
- Movable Typeのファイルアップロードで「アップロードしたファイルは大きすぎます。」というエラーになる場合の対処
- Movable Typeのパスワード変更で「URLが不正です。」というエラーなる件についての対処
- Movable Typeで「Cannot find column 'blogs' for class 'MT::Blog'」となる場合の対処
- Movable TypeでMTPageNextタグが効かなくなる不具合について
- Movable Typeの復元で「Request-URI Too Large」になるときの対処
- サーバ故障と「Connection error: Too many connections」エラーおよびMySQLテーブル破損について
- Movable Typeでエラー発生箇所を特定する方法
- IE9でMovable Typeを利用する方法
- MTIfタグにtagモディファイアを利用する場合の注意事項
- Movable Type 5のブログの設定で「Can't call method "label" on unblessed reference」が発生する問題について
- Movable Type 5.03へのアップグレードで再構築時に「Script Error」が発生する件について(つづき)
≫ MTの文字化け問題 from SOH-WEB
「~」が「?」になってしまう・・・。 その他にも表示できない文字が結... [続きを読む]
≫ MT5バグ『タグが統合されない』 from 気ままなイラスト・WEBのサイト『蒼極の月』
MT5.01を使ってのサイト作成時、最後に気付いたバグ。タグが統合されない。具体的には↓の画像の状態になる。 もっと言えば統合だけじゃなくて、機能もして... [続きを読む]
≫ エックスサーバでSQL4→5にしてMT4→5にしたけど文字化けした↓ from ブログ-箱庭.net
解決方法を探している方がこのページにヒットしたら、ごめん。 きっと文字コードがだ... [続きを読む]
≫ ブログをリニューアルしました。[続報] from 日記
先日サーバー移転をしてMTのバージョンを最新版にしてリニューアルしたわけですけど、その後ちょいちょい困ったことがあったりしたので、備忘録がてら書いておきま... [続きを読む]
≫ MT4文字化け from SIRA-KURA Blog
タグ欄の文字化けエラーで困ったので('∞';)文字化けの対処法を調べたら「小粋空... [続きを読む]
≫ タグクラウド from 雑記帳
本文右側に表示されている『タグクラウド』にお気付きだろうか? ブログに添付する『タグ』を表示する機能で、出現頻度によって活字が大きくなったり強調文字として... [続きを読む]
≫ MTOS(MT5)の一歩 #035 「~」の文字化けと、日本語のタグが合算できない不具合を解消 from 夜雨(yau) MT blog
ブログ記事を書いていて、 「~」が「?」へと文字化けする不具合を何度か経験していました。 それとは別に、 「タグラウド」ウィジェットで、同一の日本語のタ... [続きを読む]
≫ ブログ作成でつまづいた問題と、その解決経緯[その1] from やる夫と学ぶ就職活動
初ブログ作成だけあって、今日に至るまで多くの技術的問題にぶち当たりました。 本記事は、どんな問題に直面したのか、どういう経緯でその問題を解決できたのかを... [続きを読む]
≫ Movable Type で「~」が「?」に文字化けする from STAND-ALONE
タイトルの件、さくらインターネットでMT5.2を採用してから、ずっと困ってたんです。つまり、"~"が"?"に変わっちゃんですよ。 一時的な対処で、「〜」を... [続きを読む]
yujiroさん
いつもお世話になっております。
このトピックスとちょっと違う系統のご質問なのですが、お教えいただければ感謝です。
当方、小粋空間さんのテンプレートを気に入り、MTにてブログを立ち上げていたのですが、先ほどMT4.2環境で(さくらレンタルサーバー上)SQLのバージョンを4.1→5.1にアップしました。
DBはローカルにバックアップ、バージョンアップ後にDBを戻しています。
これにより、サーバーNameも変わったのですが、今まで作成したコンテンツは、htmlもphpnのコンテンツも見られます。
ただし、管理者モードでアクセスしようとすると、初期インストール後と同様の「初めてのブログを作る」「DBを初期化する」とのメッセージが出て、管理者登録を迫られてしまいます。(とすると、いまアップしている500のコンテンツが無に帰すということ(泣))
いくつかのサイトを事例に作業を進めたのですが・・・このような事例は無く、どのように対処すべきか、お手数ですがご教授いただけると助かります。
要はMTとDBが関連を持たず、再構築済みのスタティックコンテンツのみを見れているということ!?なんでしょうか。
MTの仲の、DBへのパスを書き換えれば???とは思うのですが、どこをリネームすればよいかわからずでして・・・。厚かましいお願いで恐縮ですが何卒よろしくお願いいたします。
K26
Yujiroさま
K26です。
上に記述した質問ですが、なんとか自己解決いたしました。
小粋空間内を探すと、数多くのFixのためのヒントがあり、それらが奏功しました。本当にすばらしいサイトだと思います。
ありがとうございました!
>K26さん
こんにちは。
ご返事遅くなってすいません&フォローできずに申し訳ありません。
ご質問の件、無事に直ってよかったです。
さしつかえなければ直した方法もご連絡いただければ幸いです。
それではよろしくお願い致します。
この問題かなり長い間悩まされていたので、解決して目からうろこです。
情報ありがとうございました。
>はまちゅぅさん
こんばんは。
ご連絡ありがとうございました。
お役に立ったようでなによりです。
ではでは!
先日初めてMT5をインストールしたのですが、私もこの問題に悩まされ続けていました。
特にお客様がよく「~」を使う方だったので、MT4に戻したほうがいいのでは……と思っていたところ、こちらに辿りつく事が出来ました。
本当にありがとうございます!
今後もこちらのサイトを参考にさせて頂きます。
タグが統合しなくてずっと苦労していました。
こんなにアッサリ治るとは・・・・目から鱗です。
これからも参考にさせて頂きます。
>ゴッツさん
こんばんは。
お役に立てたようでよかったです。
ではでは!
管理者様
はじめまして~。
”~”とか、”!”をBlogページに書き込もうとすると、
エラーになっていたので、ずーっと、使用しないようにしていたのですが、
このページに出会って、直すことができるんだ!
と非常に嬉しかったです。
で、早速、自身のMT5のBlogページにも適用しました。
※PHPMyAdminのインストールでハマりましたが・・・
本当に有難うございました!
私のBlogに、このページへのリンクを貼らせて頂きました。
事後報告で申し訳ありません。
>TETさん
はじめまして。
記事がお役にたったようでなによりです。
リンクはご自由に貼っていただいて問題ありません。
それでは今後ともよろしくお願い致します。
管理人様
このブログ記事で文字化けとタグクラウドの問題が解決しました。
また色々と参考にさせて頂きたく存じます。
ありがとうございました。
>YOROさん
こんばんは。
コメントありがとうございました。
お役に立てたようで良かったです。
ではでは!
yujiroさん、お久しぶりです。困った時のyujiroさん頼みでいつも申し訳ありません。私のブログもずっと、この「~」が「?」に化ける件で悩んでいました。このエントリーも参照させていただいたのですが、いつも途中で画面がyujiroさんのモノとは違ってしまうところで挫折していました。時間貧乏人の性で次の追われる仕事に頭と身体を運ばなくてはいけなくなって、途中で放り出すことが何度か。解決に至っていません。
http://www.michiko-oota.com/mt/images/michiko-sql.jpg のような画面になり、2.1の4番目の画像の「照合順序」を選択する欄が出てこないのです。見てる場所が違うのでしょうか。
yujiroさん、度々ごめんなさい。見てる画面がやっぱり違っていました。「構造」のタグを開いたら、照合順序が出てきて、書かれてある通りの状態になっていました。
mt-entry とmt-comment で「照合順序に「ujis_japanese_ci」が表示されているものについて「utf8_general_ci」に変更し、「保存」をクリック。」を実行したら、文字化けはしなくなりました。エントリーではまだ試していませんがコメントのテストでは文字化けが快勝したことを確認しました。
有難うございました。
>Michikoさん
ご無沙汰しています。
ご質問の件、自己解決されたようで良かったです。
「構造」のタブの説明は不足しておりましたので本文に追記させて頂きました(当方の環境ではデフォルトで「構造」タブが開くので気がついてませんでした、すいません)。
ではでは!
こめんと