2006年8月29日

ブログの文字化け

ここ数日、サーバの移行と同時にヴァージョンアップを施した。
すると、いくつかのところで文字化けが発生。
その一つが、ここ。

原因は、このデータを格納するデータベースサーバ「MySQL」をヴァージョンアップしたことによる、文字コード扱いの変更によるものだ。
MovaboleTypeとMySQLでの文字化けはかなりのところで報告されているが、直ったのでここに覚え書きとしたい。

環境
Gentoo Linux 2006.0
Kernel 2.6.17-r4
Movabletype 3.2-ja-2

移行前:MySQL 4.1.14
    MySQL文字コード指定
      

全てのセクションで
      default-character-set=latin1

    MovableType文字コード設定
      
PublishCharset euc-jp

移行後:MySQL 4.1.21
    MySQL文字コード指定
      

全てのセクションで
      default-character-set=latin1
      [mysqld]
       character-set-server=latin1
       default-character-set=latin1
       skip-character-set-client-handshake

    MovableType文字コード設定
      
PublishCharset euc-jp

どうやら、MySQLのコンフィグレーションファイル"my.cnf"の[mysqld]セクションにskip-character-set-client-handshakeを記述するのがミソだそうな。こうすることで、クライアントが指定する文字コード指定を無視するようになる。
移行前のMySQLはこの文字コード指定を無視する仕様だったそうだ。
かなりなやんだ。

トラックバックURL

このエントリーのトラックバックURL:
http://nns-fact.2y.net/mt/mt-tb.cgi/22

コメントする


画像の中に見える文字を入力してください。