Amazon.co.jp ウィジェット

2010年5月16日

Mac MT4→MT5に伴うMYSQL4→MYSQL5への移行、文字コード化けを直す

まずは自己責任でお願いします、と最初に記述するのがいいのかな?

こんなやり方やる人いるんだろーか。
参考になるかどうかわからないけど、もしSQLの引っ越しで文字化けするなら、
まずは文字コードがデータベースの設定とMTの設定が違うということを疑うのもありかも。

ではメモ。


movabletype4からmovabletype5に移行するにあたり、データベースをMySQL4から5にしなくてはいけないということになりましたですよ。

私がMT4までの段階でやっちゃったダメなこと。

それが文字コードの設定ミス。

エックスサーバを使っているのですが、
MYSQL4の文字コードはEUC-JP。
しかし、今までMTで静的に書き出していた文字コードはUTF-8。
MYSQLをエクスポートする際に、バイナリデータで行うとそれがはっきりとわかる。

コメントがデータベースと同じ文字コードで見ると文字化けしていても、
心当たりがある文字コードをブラウザで指定して日本語部分を見ると確認とれます。
私のデータベースがEUC-JPなのに、データベースの中身はUTF8という確認は、
以下の方法でとれました。

sugoiera2.jpg


データベースの書き出しの部分はEUC、コメントや記事はUTF。
これを統一しなければいけない。

手順を記しておきます。

0.意外とデータの中はMTの作業のログがすごかった。
 個人でやっている、検索機能をMTので使っている、分析はしないという人なら、
 このログは消してもかまわないかと。
 ファイルを比較すると、22MBのものがログ削除で6.7MBまで容量減らせたので。

1.まずはバイナリデータファイルを用意。
 これはバックアップ。とっておきましょう。上書きしないようにね。
 もう一つこのバイナリファイルをコピーしておく。
 仮にこれをa_mt.sqlとしましょう。
 
2.ここで強引技。
 Firefox(サファリは開かなかった)のウィンドウを開き、
 そこに先ほど保存したa_mt.sqlを開きます。
 firefoxのテキストエンコーディングを指定します。
 ここでは混在の可能性があるEUC-JPを指定します。

そこで画面の文字を全てコピー。
テキストエディットで新規ファイルを作り、そこにペースト。
名前は適当に固定した文字コードにします。

3.今度はFirefoxのテキストエンコーディングをもう一つの混在である
 UTF−8に指定。

そこでまた画面の文字を全てコピー。
テキストエディタで、また新規ファイルを作って、ペースト。
名前はUTFとでもしておきます。

4.mi(みみかき)で、新規ファイルを作ります。
文字コードが上プルダウンで指定できるので、今回統一したいUTF-8を指定します。
何も書いていない状態で、一度保存します。

5.ここからが大変。
3つのウィンドウが開きます。
2と3と4で作ったファイルを開くのです。

耳かきエディットでまっさらな状態のところに、
文字化けしていない方のデータをじっくり見分けながら、
文字化けしていない部分を貼付けていくのです。ああ、気が重い。
全部うまくがっちゃんこすれば、同じ行数になります。
このコピペ作業なんですが、やっていくと耳かきエディットに叱られることがある。

コードの内容が違うからうんちゃら

そして貼付けられたデータは文字化け。

そんなときは手順をそれぞれ1つ前に戻して、
何十行ではなく、数行ずつやっていってみてください。

するとどの文字が化ける原因になっているかわかります。

私の場合は、半角のカタカナ(コメントでたまにあるんです)、難読漢字、
あとは謎の全角ハイフンが文字化けの原因でした。
謎の全角ハイフンは置換で解決。

今回、おいらが編集したコードの行数は18,137行。
うげー。これから頑張る人、めげずに頑張れ。

気をつけなくてはいけないのが、最初の部分。
SQLに文字コードを教えてあげるところが上から恐らく15行目っくらいにあります。

/* SET NAMES ほにゃらら */;

このほにゃららの部分に、データベースの統一したい文字コードを書きます。

EUC-JP の場合は ujis
Shift_JIS の場合は sjis
utf8の場合は utf8

そしてSQLの5にインポートするわけですが。

phpadminを使って、一度失敗してエラー帰って来た場合は、
エックスサーバに限るのかもしれませんが、一度インフォパネルのMYSQL設定で
データベースを削除して作り直さないとうまくいきませんでした。
この作業はそんなに手間じゃないんで、うまく行かなかったら、
やる価値あります。

また、インポートの途中で、真っ赤なエラー画面が出て来たら、
コードのコピペの時に失敗している可能性あり。

sugoiera.jpg

一度ファイルを開いて、検索し原因を見つけて解決しておきましょう。
これが解決したら、上記のデータベース削除→作成を行い、うまくいきました。

2010年4月16日

エックスサーバでSQL4→5にしてMT4→5にしたけど文字化けした↓

解決方法を探している方がこのページにヒットしたら、ごめん。
きっと文字コードがだめじゃん的に、嘆いていませんか?

私もです。

〜が?というのは小粋空間さんのところで紹介しているけど、私の場合は、もうDBから引っ張ってる日本語は消える。方法変えたら、文字の?だらけ、読めないような複雑な漢字だらけになる。バージョンアップの画面でちゃんとバージョンアップしてるのに、管理画面の記事は全部文字化け。

Movabletype5はSQLのバージョンが5じゃないと入らない。
で、
エックスサーバのバージョンは4。
文字コードはEUC-JP。
5にバージョンをあげるときには一度、DBをエクスポートして、データベースを空っぽにしないといけない。

このまま放置もよくなかろうということで、DBのバージョンを下げて、バックアップしてあったMTのフォルダがつんとFTPで戻したとさ。

あたしゃデータベースのことなんてからきしなので、phpMyAdminで人様のブログを参考にビビりながらやってるクチなんだけど、、、

MT4のDBの文字コードを何でバックアップとればよいのか?
で、MT5のDBの文字コード、インポートするときの文字コードは何にすればいいのか?


EUC-JPが選べないところもあって、頭を悩ませています。
きっと選択ポイントでどっか間違えているに違いない。
という気がするんだけどどうだろう?

会社の関係でMT5をとにかく触ってみなきゃと思い、自分のサーバーのDBのバージョンを上げてMT5を入れ、実際にテストしてからいろいろ試みてた。
で、ブログ放置するのもアレなので、MT5にいっちょ乗り換えるか!
と思ったら、文字読めない状態になるわけで。。。。

MT5、なんなーくわかってきたので、自分の方はMT4に下げても今しばらくは問題ないかなっと。

MT5はかなり魅力。
システムのグローバルなモジュール管理は大変便利。
テンプレート使い回しの機能もいいです。
それからテンプレートの検索と置換機能も気に入りました。
うーん、やっぱり、できればMT5に早く乗り換えたいなあ。

エックスサーバさん、MT4からMT5へのバージョンアップ方法、是非ヘルプに載せて下さい。待ってまーす。

明日(今日か)は静岡市内で兼務している課の歓迎会。
来週は私、(にとっては)素敵なセミナーがあります。
それから好きなお店の1周年記念も参加します。

2004年7月 5日

レッツトラーイ。漢字だけでメールを出してみよう。

先日、773ちゃんに赤子がうまれた。(そんときのblog

名前がそろそろ決まったかもしれぬ。
そう思い、漢字だけで本文をいれてメールを出してみた。
一時期、ツトム氏とメッセンジャーでやっていた、
漢字だけで表現するという遊びの復活。いきなり、通用するかどうか。

さすが773ちゃん。
返事は漢字だけだった。

赤子夜泣酷 我疲労極度也。以下、略。

これ、結構楽しめる。ただ、携帯だとかなり辛いと思う。

これに対する返信は、これ。

本日蒸暑、椙本部屋貧乏故扇風機風速最大、固定位置羽旋回中。
773家冷房?
育児御苦労様。

以下、略。
是非、みなさんもチャレンジしてみては。

2004年5月 6日

【Mac】OSXのアイコン、お気に入り

macのアイコンを探すなら、インターフェイスリスト(英語)。
ここに出ていた、アイコンでかなり気に入っているのが、
iDraw vol. 1
,2
。落ち着いた色使いが良い。いい。
デスクトップにわざとらーしく大きく表示している。
ちなみに壁紙もさくーしゃさんのサイトから。
仏蘭西言葉らしいが、
シャーロックでフランス語→英語→日本語にすると、
やたら諭しているような、
おしつけがましい文章にしかなりませんでした。
そもそも、仏蘭西言葉かどうかも…