BBSの基本的なファイル操作法について教えて下さい。サーバーの文字コードがEUCの場合、CGIに関するスクリプト等はEUCで作成しますが、フォームなどのpost.htmlはSIFT_JISで作成しても文字化け等問題はないものでしょうか?又、投稿文(listとします。)がtop.htmlと言うファイルに書き出されるようなBBSの場合、このtop.htmlファイルはSIFT_JISではなくて、EUCで作成しなければならないのでしょうか?どれをEUCで作成して、どれをSIFT_JISにしたら良いのか?よく分かっておりませんので、そのへんの所を教えてくださいませ。Iモード用のHPでも同じ操作でしょうか?宜しくお願いします。
No.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に変換して表示するプログラムを用意して、そのプログラム経由でデータを呼び出すようにすれば良いでしょう。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルのVBAについて とあるサイトのコードを参考に、CSVの文字化けを直すVBAを作成しているの 7 2022/11/04 14:15
- PostgreSQL PostgressからMySQL(MariaDB)へ構造を変更する際のTimestamp等について 2 2023/04/04 12:09
- その他(パソコン・スマホ・電化製品) 学校からGitHubのアカウントを作って事前学習として動画を見て、動画の通りに操作していたら、アカウ 4 2023/04/16 11:44
- その他(メールソフト・メールサービス) メールソフトを教えてください 1 2023/03/28 23:32
- HTML・CSS CSSファイルの日本語コメントが文字化けしてしまう 3 2022/12/26 15:50
- 画像編集・動画編集・音楽編集 inkscapeで作成した図の保存の仕方とその保存したファイルの編集の仕方 1 2022/09/22 09:33
- PHP htmlspecialcharsが機能していないです。 バグですか? 1 2022/04/05 01:22
- ホームページ作成・プログラミング ホームページ作成について。「ワードプレスではありません」。 3 2023/08/13 14:44
- HTML・CSS HTMLとCSSについて 2 2022/09/12 15:46
- その他(プログラミング・Web制作) データ解析ソフトRでのファイル入力read.csvがエラーになります 7 2022/03/27 22:11
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
JavaScriptからCGI
-
CGI(Perl)の文字化けについて
-
SQLServerへの出し入れで文字化け
-
文字化けとパスワード変更
-
ポインター引数の関数でコンパ...
-
stable diffusionのエラー
-
10Mバイトて文字数に すると何...
-
Excel VBA メール作成について ...
-
ビットスワップとバイトスワッ...
-
POSTで配列のデータを渡す方法は?
-
pythonでDBのカラム名で取得し...
-
number 改行が追加できない
-
UTF-8で5~6バイトになる文字コ...
-
Rstudioによるテキストマイニン...
-
char str[256]の256の意味は?
-
C言語 構造体の名前欄?を小文...
-
if文中で@***(配列変数)って...
-
クロス集計
-
バイト列とバイナリ列の違いが...
-
CGIで改行タグを改行コードに変...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
&jcode'convert(しても文字化け...
-
ESC/Pのテキスト印字の制...
-
応募フォームなどの住所欄で最...
-
postmail ver4.3でメールを送る...
-
CGIメールフォームのメールが文...
-
SQLServerへの出し入れで文字化け
-
CGI掲示板の文字化け
-
utf-8でメールを送信すると件名...
-
JavaScriptからCGI
-
CGI(Perl)の文字化けについて
-
全角カタカナチェックについて
-
中国語のためのアンケートフォ...
-
文字化けとパスワード変更
-
文字コードsjisをUTF8に書き換...
-
perlで英数字を取り出すには?
-
ポインター引数の関数でコンパ...
-
10Mバイトて文字数に すると何...
-
UTF-8で5~6バイトになる文字コ...
-
Excel VBA メール作成について ...
-
char str[256]の256の意味は?
おすすめ情報