Movable Type の文字コードを変更する手順

http://hxxk.jp/2005/07/27/2209

記事データ

投稿者

望月真琴

投稿日時

2005-07-27T22:09+09:00

タグ
概要

hxxk.jp で使用している Movable Type の PublishCharset を UTF-8 に変更しました。合わせて変更手順も記録しておきます。

リプライ

22 件のリプライがあります。

記事本文

PublishCharset を UTF-8 に変更しました

「はてなブックマーク - http://hxxk.jp の注目エントリー」をサイドバーに表示したい - hxxk.jp でもやってみようと思ったけどでも触れましたが、 Movable Type の PublishCharset を UTF-8 に変更しました。

これまでは EUC-JP で運営していたのですが、絶対に EUC-JP でないといけないという理由ではなく、最初に作成した時の名残で使っていたという理由です。 「 PHP を使うから EUC-JP の方が相性が良いのかな ? 」 という。 ( 実際のところどうなんでしょう ? )

EUC-JP の hxxk.jp から UTF-8 の weblog にトラックバックを送ると、その内容が文字化けを起こすことがある ( はてなグループの日記やはてなアイデアエキサイトブログは文字化けを起こすことを経験しました ) ので、今回サイドバーをいじるのを機に UTF-8 に変更しました。

UTF-8 への変更手順 ( サーバ : xrea 、データベース : MySQL の例 )

  1. 管理画面に入る。
  2. 「データベース」をクリックし、 MySQL の部分の「保存」をクリック。
  3. dump 作成に時間がかかるため、何かしら別のことをして 30 分程時間を潰す。ギネスうまうま。
  4. FTP またはファイルマネージャで、ルートディレクトリに mysql.dump が作成されていることを確認。

以上が準備段階です。 xrea 以外のサーバをお使いの方は各自何らかの手段でデータベースのバックアップを作成してください。

  1. Beta Weblog: Movable Type の文字コード変換スクリプトより、 mt-convert-code を入手。
  2. mt-convert-code を解凍し、 Movable Type のインストールディレクトリに put 。
  3. mt-convert-code.cgi をブラウザから実行。
  4. Current: EUC-JP, New: UTF-8今回の場合、 Current を EUC-JP 、 New を UTF-8 として Convert 。
  5. ブラウザ上に表示される成功のメッセージを確認。 ( どういったメッセージが表示されたか控えるのを忘れていましたが、 entry_id ごとに分かりやすいメッセージが表示されました。 )
  6. mt-config.cgi の PublishCharset を UTF-8 に変更し、再度サーバに put 。
  7. Movable Type の管理画面から weblog の全ての再構築を実行。
  8. mt-convert-code.cgi を Movable Type のインストールディレクトリから削除。

以上で PublishCharset の変更は完了です。 なお、テンプレート内で MTPublishCharset ではなく直接 charset をハードコーディングしている箇所があれば、そこも変更する必要があります。

mt-convert-code で変更できない部分

MTPublishCharset を使わずに charset をハードコーディングしている部分

例えば、 <?xml version="1.0" encoding="<$MTPublishCharset$>" ?> と書くべきところを <?xml version="1.0" encoding="EUC-JP" ?> とコーディングしていれば、 mt-config.cgi の PublishCharset を変更しても反映されません。

JavaScript ファイルや共通のモジュール部分など、 Movable Type によって作られていない部分

hxxk.jp の例ですと、サイドバー部分の最近のコメント最近のトラックバックで使用している折り畳み用の js ファイルがこれにあたります。 これはローカルで作成して直接サーバに put しているのですが、 PublishCharset に合わせて EUC-JP にしていました。 当然ながら UTF-8 で保存しなおして再度 put する必要があります。

記事内で外部ファイルを include している部分

Musical Baton の泥臭いまとめがこれにあたります。 本文部分にあたる entry_text フィールドは text 型であるため、 65535 バイトという上限がありますが、 Musical Baton の泥臭いまとめは実に 104297 バイトというサイズになっています。 当然 text 型には格納できないので、本文部分をローカルで作成してサーバに put し、 entry_text からは include するようにしてこの上限を回避しています。

この include 用ファイルも EUC-JP で作成していたので、盛大に文字化けしていました。 ローカルで UTF-8 で保存しなおして再度 put し、現在は正常な表示になっています。

もしかしたらチェック漏れでまだ文字化けしている部分があるかもしれません。 もし文字化けしている記事を見かけたらゲストブックやメールなどでお気軽にお知らせください。

トラックバック送信先

Beta Weblog: Movable Type の文字コード変換スクリプト

Perl v5.8.4 built for i686-linux および MySQL 4.0.22, for pc-linux on i686 の環境で、無事 EUC-JP から UTF-8 への変更ができました。

Ping 'http://www.movabletype.jp/mt/trackback/12' failed: HTTP error: 404 Not Found ということでトラックバックが送れませんでした。

リプライ

22 件のリプライが送られています。

2005-08-13T11:46+09:00 - トラックバック先の文字化け < SEO対策を勉強します

7月にMovable Type 3.17-jaを導入しました。 現在は、その導入...

2005-08-13T11:57+09:00 - SEO対策を勉強します(管理人)

トラックバックが2件送ってしまいました。 申し訳ありません・・・ 過去に、mt.cfgのPingTimeoutを60に変更すると解決するという記事を読んで対応してあったのですが、重複送信されてしまいました。PingTimeout 100に変更してみます。 また、ご迷惑をお掛けする事があるかもしれませんが、これからも、どうぞよろしくお願いします。

2005-08-16T11:23+09:00 - 真琴

対処しました。昨日別の方へもお話ししましたが、重複防止がうまく働いていないみたいですね。ちょっと無効にしてみます。

2005-09-07T00:12+09:00 - PublishCharset:Shift_JIS→UTF-8 < Bascilog

 以前exciteのBlogにトラックバックを送ったところ、文字化けしてしまった...

2005-11-06T18:09+09:00 - みつる

はじめまして。先日からMovableTypeを始めた者です。文字コードをEUC-JPからUTF-8化にしたいと思っておりますが、分からない点がありますので教えていただけませんでしょうか。 ■質問内容 「mt-convert-code.cgi をブラウザから実行。」とありますが、FTPをクリックすると、選択画面でなくプログラム文字列が表示されます。 文字コード選択画面に移行するためにはどうのようにしたらよろしいのでしょうか。初心者なので本件基本的事項かと思いますがご教授の程よろしくお願いします。 ■環境 OS:WINSOWS2000 サーバ:XREA MT:3.2 ja ■今まで行った事項 ・サーバからmysql.dump作成 ・mt-converte.cgiをダウンロード ・FFFTPでFTPアップロード(public_html/mtへアップ) ・パーミッションを755に変更

2005-11-07T02:25+09:00 - 真琴

「パーミッションを755に変更」というのは、何のパーミッションを 755 に変更したんでしょう ? xrea の場合ですと、 .cgi 自体のパーミッションは 700 で、 .cgi を置いたディレクトリは 705 ( or 755 ) に設定するのが基本みたいですね。 <a href="http://reddragon.xrea.org/page3.html#v7">http://reddragon.xrea.org/page3.html#v7</a> ただ、 .cgi 自体を 755 にしてテストしても動作しそうな感触ではありましたが。 あと「 FTP をクリック」というのも気になりますね。 ファイルマネージャ等ではなく、ブラウザに直接 http:// から始まって mt-convert-code.cgi で終わる URI を開けば <a href="http://hxxk.jp/common/images/2005-11-07-01.png">http://hxxk.jp/common/images/2005-11-07-01.png</a> のような画面になると思うのですが……

2005-11-08T23:20+09:00 - みつる

真琴さま どうもコメントありがとうございました。どうやら、プラウザのアドレスがpublic_html/mtではなく同じサーバの別ドメインを必死で探していました。基本的事項を良く調べず質問をしてしまい申し訳ありませんでした。 FTP・・・というのは、HTTP//~がうまくいかなかったのでひょっとしてFTPサーバかなと思って試していたものです。 普通にアクセスでき、EUC-JP⇒UTF-8に変更できました。cgiパーミッションもそのまま755変更ですんなりいけました。

2005-11-09T19:11+09:00 - 真琴

無事に変更できたようで何よりです :-) ただし、この方式で文字コードを変更すると、 phpMyAdmin で少々表示が狂うので、その点だけ注意してください。

2006-04-05T08:37+09:00 - toto

はじめまして。 自分もxreaを使っているものですが、 上記のようにmt-convertでutf-8に文字コードを変換しようとしたのですが、 すべての日本語表記が???????で表示されるようになり、 euc-jpに戻そうと思っても 戻らなくなってしまっていました。 新しいエントリーは作成できるのですが。 何かお気づきの点があれば教えていただければと思って書き込ませていただきます。 mtは3.2jaです。

2006-04-07T22:33+09:00 - 真琴

戻そうと思っても~というのは、データベースの dump 自体がおかしくなっていたのでしょうか ? それとも mt-convert.cgi で euc-jp → utf-8 → euc-jp と再変換をしてしまったということでしょうか ?

2006-04-11T22:49+09:00 - なつみ

コチラの詳しいXreaでの文字変換に本当に感謝しています。とても簡単に移行できることが出来本当に感謝してます。 ありがとうございました。

2006-04-12T00:23+09:00 - 真琴

お役に立てたようで何よりです :-) まあ、最初に選んだ文字コードから変更しないで済むのが一番なのですが、なかなかそうもいきませんよね。

2006-04-25T12:03+09:00 - kimi

はじめまして。MovableTypeについて教えて頂いても良いでしょうか? mt-convert-code.cgiを使用し、文字コードをUTF-8→EUC-JP→UTF-8に再変換してしまいました。 各ページのエンコード自体は、UTF-8への変換が反映されましたが、エントリ内容・テンプレート内容は 「Atom〓〓[〓」 など文字化けしています。 これは、EUCの特定の文字がunicodeとして認識されないからでしょうか? バックアップを取っておいたので、元に戻しましたが、再変換はしてはいけないものなのでしょうか? 一度、テストしたときにはこのような現象が起きませんでした。 申し訳ございませんがご教授の程よろしくお願いします。 ■環境 OS: WINSOWS XP MT: 3.2 ja 【作業手順】 1. mt-convert-code.cgiをダウンロード 2. mt-convert-code.cgiで、UTF-8→EUC-JP変更 3. mt-convert-code.cgiで、UTF-8→EUC-JP変更

2006-04-25T18:21+09:00 - kimi

失礼しました。 最後の二行を訂正します。 2. mt-convert-code.cgiで、UTF-8→EUC-JP変更 3. mt-convert-code.cgiで、UTF-8→EUC-JP変更 ↓ 2. mt-convert-code.cgiで、UTF-8→EUC-JP変更 3. mt-convert-code.cgiで、EUC-JP→UTF-8変更 でした。

2006-04-26T02:04+09:00 - 真琴

再変換については試したことが無いのでなんとも……。 hxxk.jp の場合は EUC-JP → UTF-8 への 1 回限りの変更でしたが、それでも俗に言う WAVE DASH - FULLWIDTH TILDE 問題によって「~」が「〜」に置き換わっていたりするので、何度も変更するのは良くないのかもしれません。 ( この程度の事しか助言できません、ごめんなさい )

2006-08-04T03:31+09:00 - xreaでの文字コード変更 < イラスト レーションと在宅ワークメモ ※趣味イラストで生活していけるのか?

前回のゴミの部分の文章で触れましたが、実はxreaでの文字コードが、変更可能であ...

2006-08-04T03:44+09:00 - ひで

XREAの文字コードが変更できるとは思ってもみなかったので、勉強になりました。 変更後、設定画面やサイトのすべてが文字化けしてしまい、やっぱりダメかあと思いきや、単なるブラウザのエンコードの問題でした。(笑) どうもありがとうございました。

2006-08-10T22:57+09:00 - 真琴

どういたしまして :-) ブラウザのエンコード違いは一瞬ドキっとしますよね。

2006-11-13T22:19+09:00 - 文字コードの変換は大変だったぁーorz < erekiman blog

昨晩はホントやばかったヨ。物理的にこのブログに初めて危機が。。 というのは、昨日...

2008-09-25T12:08+09:00 - ENA

こんにちは。mt-convert-code.cgiを探しているのですが、サイト上からはもう削除されてしまったようで、どこからかダウンロードはできるかご存知ですか?初心者なものですみません。今、MT4を使用していますが、utf-8→Shift_JISに直したいのです。宜しければ教えて下さい。突然、すみません。

2008-10-07T23:39+09:00 - 望月真琴

調べてみたら、 This code cannot be redistributed without permission from www.movabletype.org というコメントが入っていました。再配布もされていないようなので、作成者である平田大治さんにコンタクトをとってみてはいかがでしょうか。

2009-08-11T19:41+09:00 - MTバージョンアップ奮闘記 < やれることは今やろう。

モトヒロです。 ご無沙汰振りの記事ですが、制作メモです。 この度、ブログのシステ...

この記事に対するご意見やご質問、ご感想などありましたらこのフォームに簡潔に記入して下さい。 簡潔に記入できない場合や、関連記事にてご意見をお寄せいただく場合は、ご自身の weblog にて記事を書かれた上で あてにトラックバックとして送信してください。

記入フォーム

補足情報

著作、講演、制作実績など