MovableType: 2011年1月アーカイブ

今朝、「やっと MTOS の移行案件が終わったでぇ」とツイートしたばかりだったのに。
やっと、本来のプログラミングの作業に戻れるかと思ったのに。

昼飯食って作業場に帰ったら、「'~'とか'-'とか入れると、全部'?'になっちゃうんですけど・・・」とお客さんから電話が・・・

はぁ~Unicodeのマッピングの問題か・・・

記事入力したら'~'が'?'になっちゃうってことは、DB の問題やろぅ!?と phpMyAdmin で MTOS のテーブル見てみたら、案の定、全テーブルの照合順序が'ujis_japanese_ci'になってるやん。

入力が UTF-8 で、DB が EUC-JP なんだから、次にそれを再び UTF-8 で表示しようとすると化けるわなあ、そりゃ。
入力した内容を DB 登録した時点で(UTF-8 から EUC-JP に変換した時点で)、間違ったマッピングがおこなわれているんだからなあ。
UTF-8 → EUC-JP → UTF-8 なんて変換したら、'~'や'-'は確実に化けるわ。(これを Unicode の腐ったマッピング問題と言う(^^;)

確かに、phpMyAdmin で DB の設定を見てみると、文字関係のグローバル値が皆 ujis になってるやん・・・さくらインターネットの DB ってそうなんじゃあ・・・
しかし、日頃、直接サーバに ssh 接続して設定ファイル触ってる俺には、この phpMyAdmin しか使えない環境でどう DB の設定を変えればいいのかようわからんで。
いつも shell 画面上で mysql コマンド叩いてるから、phpMyAdmin なんて使わんしなあ。

結局、

ALTER DATABASE `hogehoge_dbl` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci

と、SQL コマンドで DB の文字コードを UTF-8 に明示的に指定してやってから、再度 MTOS のインストールをしたら、ちゃんと照合順序が'utf8_general_ci'で作成されたので一安心。
'~'を入力すれば、ちゃんと'~'で表示されるようになった。

つーか MTOS って TABLE 作る時、CREATE TABLE のオプションに DEFAULT CHARSET=utf8 を付けんのんかいな(^^;

つーか、Unicode 死ね(^^;

まったく、今後はこういうレンタルサーバがらみの仕事は工数見積を気をつけんといかんな。
今回はもう完全に大赤字です。とほほ(^^;

お客さんの MTOS を触ってたんで、合間に自分の MTOS にも手を・・・(笑)

うちの MTOS にはブログの更新情報をツイートするために、PostToTwitterプラグインをインストールしてたんだけど、2010年8月末にTwitterの認証方式が変更になってからは動いていなかった。
というか、動いていたのだが、Twitter に拒絶されて(^^;更新情報をツイート出来ていなかったのだ。

わかっちゃいたのだが、何か自分のサイトをメンテするの面倒くせえ。(^^;
「紺屋の白袴」という言葉をご存じだろうか?仕事で散々面倒くせえサーバのメンテナンス作業してんのに、自分のサイトなんか触りたくはないのである。

まあ、そういうわけで、時々、思いついたように手作業で更新情報をツイートして、それで良しとしていたわけなのだが、まあ、ちょうどお客さんの MTOS を触ってるし、そのついでにってことで作業をおこなった。

PostToTwitterを、(PostToTwitter の制作者でもある)エムロジック放課後プロジェクト製PostTweet に入れ替えたのである。エムロジックの皆さん、本当にいつも素敵なプラグインをありがとうございます。

MTOS のプラグインなんで、指定箇所にファイルをアップロードして、後は PostTweet の設定画面で「OAuthによる認証」をクリックし、Twitter の PIN番号を登録するだけである。PIN番号の取得画面にもリンクが貼られているので楽勝だ。

そうそう、俺は公開したあとも結構ブログ記事を修正するから、「投稿:ブログ記事/ウェブページの状態を未公開(下書き)から公開に変更した場合に投稿します」にもチェックしとかないと大変なことになるな。

あと、URL 短縮サービスは bit.ly に変更して、API key を設定。

これだけ。:-)
こんな簡単な作業も、毎日仕事で PC やサーバと向き合ってるとイヤになっちゃうんである。(^^;

MTOS5 の載っているサーバの移行案件があって、移行先のサーバにもまったく同じバージョンの MTOS が載ってて、そこへの引っ越しなので全然楽勝だと思ってたんだが・・・これが最悪の展開に・・・(^^;

実は、最初は1台のサーバに全部のブログが載ってたんだが、容量制限に引っかかったのでサーバを分割。それを今回また1台のサーバ(の、MTOS)に集約する・・・という作業。
今回、サーバの DocumentRoot が変更になる。なので、記事データのエクスポート/インポートでは、画像のパスとかが変換されないので後で手作業で直さなきゃいけない・・・てんで、出来れば全部バックアップ/復元でいきたかったのだが・・・

バックアップ/復元作業自体は、全部のサーバの MTOS のバージョンも 5.04 で合ってるので問題なく終了。最初のサーバからバックアップ/復元して、別のサーバからもバックアップ/復元。これで2台に分かれていたウェブ&ブログが一台に集約された・・・はずだったのに、プラグインの設定画面に行こうとすると、「Can't use string ~ /MS HASH ref while~」ってなエラーが出ちゃう。

どのプラグインが引っかかってるのかわかんないんで、plugins ディレクトリからひとつひとつプラグインを消していったら、CKEditor がエラーを出しているのはわかった。

この後、何度か再現テストをしたところ(この糞忙しいのに!)、2台目のサーバからのバックアップ/復元をすると、何故か CKEditor だけエラーが出はじめることが判明・・・

とほほ・・・

結局、何度も MTOS のインストールからやり直したり、データを入れ替えたりと調査してたら、ほんまに、この糞忙しいのに1日飛んじゃった。とほほ・・・

なんつーか、この手のプラグインって、言語が出してるエラーメッセージをそのまま何の加工もせず見せてくれたら良いのにな。変に内容を取捨選択&加工したメッセージを出してくるんで調べるのに苦労する。

結局、エラーが発生する原因わからず。
仕方無いので、1台目サーバからはバックアップ/復元して、2台目のブログはひとつひとつエクスポート/インポートしたのであった。
これすると、その後で画像パスとか手作業で直さないといけないので強烈に面倒。

・・・とほほ。CKEditor使わなきゃいいのに・・・ボソッ

このアーカイブについて

このページには、2011年1月以降に書かれたブログ記事のうちMovableTypeカテゴリに属しているものが含まれています。

前のアーカイブはMovableType: 2010年7月です。

次のアーカイブはMovableType: 2011年2月です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。


月別 アーカイブ

電気ウナギ的○○ mobile ver.

携帯版「電気ウナギ的○○」はこちら