BBSの基本的なファイル操作法について教えて下さい。サーバーの文字コードがEUCの場合、CGIに関するスクリプト等はEUCで作成しますが、フォームなどのpost.htmlはSIFT_JISで作成しても文字化け等問題はないものでしょうか?又、投稿文(listとします。)がtop.htmlと言うファイルに書き出されるようなBBSの場合、このtop.htmlファイルはSIFT_JISではなくて、EUCで作成しなければならないのでしょうか?どれをEUCで作成して、どれをSIFT_JISにしたら良いのか?よく分かっておりませんので、そのへんの所を教えてくださいませ。Iモード用のHPでも同じ操作でしょうか?宜しくお願いします。

このQ&Aに関連する最新のQ&A

A 回答 (1件)

質問文の意味がよくわからないので、Perlスクリプトの一般的な場合として説明します。


C/C++やPHPの場合は話が異なる部分が出てくるので、その場合はその旨書いておいて下さい。

基本的に、HTMLの漢字コードはShiftJISだろうがEUCだろうがブラウザで自動認識しますから、一つのファイルに異なるコードがまぜこぜにならなければ問題はありません。
またCGIプログラムでも、外部から来るデータ(HTMLのFormの入力結果や、データの保存用ファイル)については漢字コードは特に制限はありません。
問題となるのは、CGIプログラムの中に漢字メッセージを埋め込む場合で、この場合はサーバの文字コードに漢字コードを合わせる必要があります。(サーバの標準がEUCになっていたら、プログラム中の漢字コードはEUCで書かなければならない)

実際プログラムを作る際には、HTMLのFormからどのような形で漢字コードが渡されるかは実際にデータを受け取るまでわかりませんから、基本的にFormのデータを受け取ってURL decodeする段階で漢字コードを(jcode.plなどを使い)サーバの内部コードに合わせて変換しておけば、あとはそのまま処理してしまってかまわないはずです。

例えばShiftJISでFormからのデータが渡された場合(サーバはEUC)は、
「ShiftJISで入力→URL decode時にEUCに変換→そのままEUCでファイルに保存」
としておけば、次にメッセージを呼び出すときは、EUCで保存されたファイルをそのまま呼び出すだけで、ユーザーのブラウザ側で漢字コードを自動認識して読めるようにしてくれます。

ただしiモードの場合は、表示するHTMLの漢字コードがShiftJISであることが必要条件になっていますから、iモードの時だけは、EUCをShiftJISに変換して表示するプログラムを用意して、そのプログラム経由でデータを呼び出すようにすれば良いでしょう。
    • good
    • 0
この回答へのお礼

有難う御座いました。形がようやくつかめました。CGIは難しいですが、がんばります。またよろしくお願いします。

お礼日時:2001/03/02 11:25

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aと関連する良く見られている質問

QEUCからShift_JISに保存し直す方法

EUCで書かれたCGIをSHIFT-JISで保存し直す・・
と言う作業の過程での事なのですが・・

秀丸を開きファイル名を指定して、
文字コードを日本語(EUC)にして、
開きます。

その後秀丸のその他-保存・読み込み-標準の文字コードで
日本語(SHIFT-JIS)にしてみましたが、どうも変わった気配が無く
EUCのまんまのような気がします。

やり方間違えてますでしょうか?
秀丸をお使いでご存知の方がいらっしゃいましたら
お教え下さいm(__)m

Aベストアンサー

 EUCコードのテキストを読み込んだら、ファイル-名前をつけて保存・・・で別のファイルに保存して下さい。
 その際、保存ダイヤログの文字コードを保存したい文字コード(この場合は、Shift-JIS)を選んで保存して下さい。
 これで文字コードが変換されて保存されるはずです。

 なお、現在開いているテキストの文字コードを調べるには・・・。
 秀丸のメニューバーの、その他/環境設定の、ウインドウ/高度なウインドウの中に有る「文字コードの種類を表示する」のチェックボックスをチェック。
 さらに、そのすぐ下にあるプルダウンで、「全ての文字コード」あるいは「全ての文字コード+改行コード」を選択してOKを押して下さい。
 これで、現在開いているテキストの文字コード(あるいは改行コードも)が、常時キャプション部に表示されるようになります。

QBBSの新着記事タイトルをTOPページに貼り付けたい

こんにちは。
HPを作成していて、情報BBSの新着記事タイトルを、TOPページで見れるようにしたいと思っています。

RSSの自動作成CGIを利用して、javascriptでTOPページに貼り付ければいいのかなと考えたのですが、BBS内容からリアルタイムでRSSを自動作成してくれるフリーCGIが見つからず、困っています。
アドバイスよろしくお願いします。

Aベストアンサー

どのようなBBSかわかりませんが、そのBBSがBLOGのようにRDFを吐き出さないといけません。

http://www.daikoku-ya.org/

ここにあるjsRSS++ v3.15がRDFを読み取って最新記事を表示してくれるCGIです。

CGIなのでリアルタイムというわけにはいきません。初期設定では60分ごとにRDFを見にいきます。ですから最悪BBSを更新しても60分間は最新記事に反映されません。時間を短めにすればリアルタイムに近づきますがサーバ負荷が大きくなります。まあ初期設定で問題はないと思いますが。

QTOPページのHTMLを自動で変更したい。

レンタルサーバーと独自ドメインでHPを運営しています。
毎週、月・木・土・日曜日に
TOPページの一部のリンクを変更しなければなりません。
4通りのTOPページがあるという事です。
今まで手動でやっていました。
週4回も午前0時を見計らって手動でHTMLを打ち込むのは疲れてしまいます。
入力するHTMLは曜日ごとにまったく同じなので
予め設定しておいたHTMLを指定した日時になったら自動で変更されるようにすることはできませんでしょうか?
どなたかご存知の方は教えて頂けると幸いです。
よろしくお願い致します。

Aベストアンサー

曜日で内容をちょこっと変えるぐらいならCGIやphpを使うまでもなく、SSIで出来ますね。

SSIが利用できる。
拡張子がshtmlになってもかまわない、またはhtmlのままSSIを適用できる(htaccessが使える)。
って条件が揃えば、ですが

例)
<!--#config timefmt="%a" -->
<!--#if expr="$DATE_LOCAL = 'Mon'" -->
月曜の内容
<!--#elif expr="$DATE_LOCAL = 'Thu'" -->
木曜の内容
<!--#else -->
以外、の内容
<!--#endif -->

http://www.tohoho-web.com/wwwssi.htm
http://mikeneko.creator.club.ne.jp/~lab/web/htaccess/ssi.html#ssi2

QBBS掲示板でのhtmlとcgiの関係について

悩んでいます。

webサーバで公開している「public_html」ディレクトリ内のindex.htmlファイルに書き込むことで、ブラウザからホームページを閲覧出来ます。また、掲示板のような動的なものはcgiで動かしていることは理解出来ていますが、cgiを動かすというのは公開するindex.htmlファイル内にcgiのリンク先を記述してやって動かしているという意味でしょうか?

詳しい方、レクチャーお願いします。

Aベストアンサー

> 「cgiを動かすというのは公開するindex.htmlファイル内にcgiのリンク先を記述してやって動かしているという意味でしょうか?」
用語の使われ方が混乱していてご質問内容が自動英文翻訳のように支離滅裂になっていますので、わたくしだけかもしれませんが回答が困難です。
それぞれの役割や機能が整理されていないようですのでご存知であることを承知で説明します。
ただし、ここでは画像やマルチメディアデータについてはややこしくなるので割愛してHTMLデータに主眼を置いて説明いたします。

Webブラウザ
 HTMLで記述されたテキストデータをHTMLタグ情報を元に加工成型して表示する、ローカルPC上で動作するソフト
 ※ ホームページと、そのソースを見比べてください。
 ※ サーバ機でも動作はしますが、ローカル機とサーバ機を区別して考えてください。

Webサーバ
 ◎ ネットワーク経由でWebブラウザによって要求されたデータを返信する、サーバマシン上で動作しているサーバサービスプログラム
 要求されたものがHTMLファイルならそのファイルを読み込んで内容をそのまま返信する
 ◎ CGIファイルならその指定されたファイル内に記述されたプログラムをそのサーバマシン上で実行して、その実行結果を返信する。

CGI用の掲示板プログラム
 ◎ プログラム実行時に、掲示板の表示フォーマットにしたがってHTMLを成型し出力するプログラム


「◎」の部分に注目すれば「BBS掲示板でのhtmlとcgiの関係について」に関して理解しやすいかと思います。

> 「cgiを動かすというのは公開するindex.htmlファイル内にcgiのリンク先を記述してやって動かしているという意味でしょうか?」
用語の使われ方が混乱していてご質問内容が自動英文翻訳のように支離滅裂になっていますので、わたくしだけかもしれませんが回答が困難です。
それぞれの役割や機能が整理されていないようですのでご存知であることを承知で説明します。
ただし、ここでは画像やマルチメディアデータについてはややこしくなるので割愛してHTMLデータに主眼を置いて説明いたします。

Webブラウザ
 HT...続きを読む

Qprivate_htmlについて

私のところのサーバーは初めから用意されている
private_htmlというフォルダにアップロード
する必要があります。CGIはその中のcgi-binフォルダに
入れる必要があると書かれています。

下の図の場合private_htmlのなかにprivate_htmlを
入れることになりますがいいのでしょうか?
下の図の場合homeフォルダは自分のところでは
private_htmlフォルダで
kentフォルダはcgi-binフォルダと考えていいのでしょうか?
あと_htmlにはどういった意味があるのですか?
_htmlフォルダの中に_htmlフォルダを入れては
いけないとかそのような決まりはあるのでしょうか?
どうか詳しい先生がたお願いいたします。




/home/kent/
|
+-- private_html / secret.html (隠しファイル)
|
+-- public_html / index.html (トップページ)
|
+-- member / gate.cgi [705]
| admin.cgi[705]
| init.cgi [604]
| log1.cgi [606]
| log2.cgi [606]
|
+-- lock [707] /

私のところのサーバーは初めから用意されている
private_htmlというフォルダにアップロード
する必要があります。CGIはその中のcgi-binフォルダに
入れる必要があると書かれています。

下の図の場合private_htmlのなかにprivate_htmlを
入れることになりますがいいのでしょうか?
下の図の場合homeフォルダは自分のところでは
private_htmlフォルダで
kentフォルダはcgi-binフォルダと考えていいのでしょうか?
あと_htmlにはどういった意味があるのですか?
_htmlフォルダの中に_htmlフォルダを入れ...続きを読む

Aベストアンサー

公開されるフォルダ内はサーバーによって決まっています。逆に言うと、公開されるフォルダ出なければ“公開されない”ので半角英数字であればどのようなフォルダ名でもいいと思います。


このカテゴリの人気Q&Aランキング

おすすめ情報