管理人:心は萌え/職業:世界の真ん中で愛を探すプログラマVer A## が贈る
独断と偏見で、ありとあらゆる物(主にライトノベル・コミック・アニメ・Geekネタ)のレビューを偽った感想を書いてるBlog=レビュー+ブログ=レビログ/レビログの半分は偏見で出来ています。

Movable Typeで~が?に文字化けしてしまう問題解決orz

前のサーバーで文字コードをEUCからUTF-8に切り替えた際に、~という文字が?に文字化けしてしまう問題をかかえていて、原因は推測できていたのですがおいそれと直せないので、サーバー移転時に直してみました。


結論から言うとMySQLがもっている自動文字コード変換機能とMovableTypeの相性でした。

なおした手順

1.データーベースをExportする。

 この時文字列をバイナリー化しないオプションを利用する
 Insertを使ったエクスポート形式(SQL形式でとりだす)


2.テキストエディターで文字コードをUTF-8に変換する。(必要がない場合もあるかと)

3.当初EUC文字コードでDBが作られていると思うので随所にujisとかujis-binの文字列があるとおもわれるこれをそれぞれutf8 utf8_general_ciなどに置換する(テキストエディターで)



4.インポートする


もともと、MySQLの文字コードがEUCであり、エクスポートしたときにEUCを保つようにエクスポートされているが、MT自体はUTF-8で動いていることが問題。

なので、テキストエディターを使って手動で文字コードをUTF8にしてあげれば無問題


MySQL+Movable TypeのDBをEUCからUTF-8うつすときのTIPSでした。

意外と気が付かずにそのまま移行しちゃいがちなのですが、けっこう文字化けるので、ぜひ一手間かけましょう。


Trackback URL

コメント Leave a Reply