掲示板をi-modeで表示させるCGIを設置しようとしています。条件は以下のとおり。

・元の掲示板本体は三河版(あめぞう→サポスク系)をUTF-8に変換したもの。データ等すべて文字コードがUTF-8になっている。
・i.cgiはあめぞう系でよく使われているもの。ただし、Shift-JISでの運用が前提となっている。
・このi.cgiを改造して、utf-8の元ログデータを文字化けなく読み込み、Shift-JISで表示するにはどうすればいいか具体的に教えてください。無改造の現時点で投稿は可能なようです(がテストはご遠慮ください)。しかし、ログが読み込めていません。サーバーはlolipop。
http://bbs.twelve-girls-band.info/amezo/i.cgi
http://bbs.twelve-girls-band.info/amezo/i.txt(中身)
うまくいけばこんな感じになるはず。
http://www.an-donut.com/i.cgi

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:
  • 終了:--
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答1件)

id:JULY No.1

回答回数966ベストアンサー獲得回数247

ポイント50pt

lolipop の Perl が 5.8.0 だということですので、意図的に標準モジュールを削除していなければ、

Encode という標準モジュールで UTF-8→Shift-JIS の変換が出来ます。

具体的には CGI プログラムの最初の方で

-----------

use Encode;

-----------

という行を追加して、ログファイルの読み込んだものを

---------------------------------

from_to($_, ’utf8’, ’shiftjis’);

---------------------------------

といった具合にすれば OK だと思います。

id:matsunaga

ありがとうございます!

そのままではうまくいきませんでしたが、ふと思いついて

Encode::from_to($_, ’utf8’,’shiftjis’);

とやると、表示はうまくいきました。

その他少しずついじってみます。

2004/08/01 11:34:49

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません