YoungYoung

オリジナル&芸能人(主にラルク)のイラストと、レビュー、日記などのごった煮サイト

diary pc&web

MT3とapeboard+のUTF-8化

たまにはちょっと堅めの話題でも。
このサイトで使ってるブログツール(MovableType)のバージョンは2.661のままだったんですが、いろいろ調べてみるうちに、3.xでも2.xで使ってるプラグインがそのまま使えそうってんで、重い腰上げてバージョンアップしてみました。
YoungYoungとラブログのバックアップとって、データを3.11に取り込んだら……、おおうものすごい文字化けが(汗)
2.661で使ってた文字コードはEUC-JPで、3.11のデフォルト文字コードはUTF-8なのが原因。
文字コード界ではunicode対応のUTF-8の方がなんとなくナウい感じらしいので、ブログツールをバージョンアップしたのに、今更もう一度旧世代なEUCにするのもなーって思って、いろいろ格闘。
ブログデータの方はすぐなんとかなったんだけど、問題は同サイト内で使ってる他のCGIスクリプト。
よくCGIにくっついてくるjcode.plだと、UTF-8の文字コードにデコード出来ないので(んま!)、代用品のJcode.pmとか他にもいろいろ試したんだけど、いやーもうこれがさっぱり!動きゃしねえ!
うちはDremweaverのテンプレート機能使って、サイト内のデザイン統一してるので、CGIファイルだけEUC-JPにするやり方はめんどくさいんだよね。テンプレートから切り離したり別のエディタ開かなくちゃいけないし。
UTF-8に対応してるCGIを新しく探してもいいんだけど、今ラブログ使ってるBBS(apeboard+)もフォームメーラーもかなり長いこと愛用してるんで、新しいの探すのもまためんどくさい…。
そんなことでもんもんとしてたら、やっぱ同じ事考える人はいるもんですね。
apeboard+はUTF-8化の方法がネットにありましたよ。
いくつか方法があるようですが、その中でも一番簡単な方法で。

apeboard+のUTF-8化の方法:
1、メインCGIとmt.cgiの「require './jcode.pl';」の先頭に#を付けてコメントアウトする
↓こんな感じ
#require './jcode.pl';
2、同じくその2つのCGIで「jcode.pl による文字コードの変換」の部分の2行も先頭に#をつける。
3、出来上がったらUTF-8Nで保存。cgiとdatファイルはUTF-8で保存するとエラーになるので注意。(私はこれでつまずいた)
4、スキンのHTMLファイルのcharsetも、UTF-8に変えて保存するのを忘れずに。

これでUTF-8環境下で表示できる。ただメール通知機能を使うとメールが文字化けする。けど私はその機能使ってなかったので無問題。
メールの文字コードはWEBとまた違うので、ちょっとややこしい。CGIファイルの一部をいじってはい終わり~とはいかなかった。
長時間格闘してもどうにもならなかったので、UTF-8対応のフォームメーラーも探したんだけど、まだ数が揃ってないんだなこれが。欲しい機能を満たすのもなかったし。(PHPだとここらへんの文字コードの扱いが楽だと聞いたんだけど、どうなんだろう)
で、結局どうしたかというと、「インラインフレームでフォームだけ違うHTMLにする」で解決しました。
結局は超原始的…(--;)
で、そんなこんなで移行作業は一通り完了!
見た目全く変わってないけどね!!(笑)
ま、おいおいやってきます。

-diary, pc&web