CLEVER BBSのUTF-8化

NO IMAGE
最近ラブログで使ってるape board+のスパムがヒドイ。 でもape board+自体がもう大分古いスクリプトというか、長いこと更新されてないので、変わりになるBBSスクリプトはないかと探してるうちに「CLEVER BBS」というのを見つけた。 スキンファイルの改造の仕方なんかはapeに近いんだけど、apeにはない画像のアップロード機能や記事検索機能、インデックスのHTML出力機能なんかもあったりして、とってもいい感じ。 でも、というか、やっぱり、と言うべきか、問題になるのが文字コード。 サイト内文字コードをUTF-8にしたいがこのスクリプトはSHIFT-JISのみの対応。 でも前にapeboard+のUTF-8化したときと同じような感じでこれも出来るんじゃないか?と思ったのでこちらのページを参考にしつつやってみたら出来た。 →こんな感じ(実際稼働してるBBSですのでテスト書き込みはご遠慮下さい) 誰かの役に立つかもしんないから、手順を記録のために書いておきます。 でも上手く動かなかった場合でも私にはサポートするほどのスキルがないので、あくまで自己責任(便利な言葉)でお願いします。 サーバーのperlのバージョンが古いと動かないかも知れません。(Perl 5.8.3で動作確認)
1:スキンHTMLファイル2つのcharsetを
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
にして、文字コードをUTF-8に変更して保存。 2:clever.cgiで charset=Shift_JIS を指示してる部分を charset=utf-8 に変更。(3箇所あるはず) 3:clever.cgiのjcode.plを使用している行を変更。 require './jcode.pl'; を↓こんな感じに。 # require './jcode.pl'; use Encode::Guess qw/ shiftjis euc-jp 7bit-jis /; use Encode qw/ from_to /; 4:同じくclever.cgiで、 &jcode'convert(*val, "sjis", "", "z"); の行を以下のように変更。 #&jcode'convert(*val, "sjis", "", "z"); my $enc = guess_encoding ( $val ); if ( ref $enc ) { from_to ( $val , $enc->name , 'utf8' ); } 5:同じくclever.cgiで、 &jcode'convert(*MailSub,'jis'); &jcode'convert(*MailBody,'jis'); の部分を以下のように変更。 #&jcode'convert(*MailSub,'jis'); from_to ( $MailSub, 'utf8' , '7bit-jis' ); #&jcode'convert(*MailBody,'jis'); from_to ( $MailBody, 'utf8' , '7bit-jis' ); 6:cgiファイル2つとdatファイルの文字コードをUTF-8Nに変更して保存。
これで多分動くはず。 間違ってたらどなたかフォローしてください(^_^;

diaryカテゴリの最新記事