• 締切済み

CGIでの文字コード

多分とても基本的な質問なので、お恥ずかしいですがどなたかお教え下さい。 ちょっと試しに掲示板を作ったのですが、EUCでCGIを書きました。 ところがこのページを表示させるとJISになってしまって文字化けが起きてしまいます。 その際、表示⇒エンコードでEUCに変えるとちゃんと表示されるのですが、 毎度毎度面倒です。 このページを開いたとき、EUCをちゃんと自動で選択するようにするにはどうしたら良いのでしょうか。

みんなの回答

  • the845s
  • ベストアンサー率34% (61/176)
回答No.1

htmlファイルと仮定して、 head中にEUCと宣言してはいかがですか? <meta http-equiv="Content-Type" content="text/html; charset=euc-jp">

関連するQ&A

  • メール送信後のHTMLが文字化けします

    FORMからsendmailを利用してメールを送信し、その結果を「送信できた」、「未入力項目がある」などを出力するHTMLとして出力するcgiを作ったのですがHTML出力が文字化けします。 メールのsubjectやbodyは文字化けせず正常に送信できます。HTMLにはMETAタグでeuc-jpやshift_jisと色々とトライしました。cgiもshift_jisとeuc-jp両方で試しましたがどちらも文字化けします。文字化けしているときにブラウザのエンコードで自動選択すると、ブラウザがcgiの使用コードに自動的に合わせてくれて正常に表示してくれますがこれがcgiを起動するたびで面倒です。エンコードを自動選択しないと文字化けしてそのときのブラウザが選択している文字コードは「西ヨーロッパ言語(ISO)です。 どうしたらブラウザに使用している文字コードを認識させるられるでしょうか?

    • ベストアンサー
    • CGI
  • 自作cgiのページがIE10で文字化けする

    Perlでcgiのページを作っています。文字コードはEUCです。 最近、IEのバージョンを8から10にアップグレードしたのですが、 自分の作ったページが、たまに文字化けするようになりました。 IE10のエンコード設定は「自動選択」にしていますが、 自動で「西ヨーロッパ言語(ISO)」に判断されてしまいまうことがあります。 Perlのcgiの文字コードはEUCで、ソースには以下のようにEUC-JPを指定しています。 <meta http-equiv="Content-Type" content="text/html;charset=EUC-JP"> 手でIE10の文字コードをEUCに設定すれば文字化けは直るのですが、 数日経つとまた同じように文字化けで「西ヨーロッパ言語(ISO)」に自動判断されてしまいます。 metaでEUC-JPをしていればブラウザ側で自動判断してくれると思っていたのですが、違うのでしょうか? HTMLでmeta以外に文字コードを指定するところがあるのでしょうか?

    • ベストアンサー
    • Perl
  • 文字コードEUCの掲示板にWindows(S_JIS)で書き込むと文字化けする

    【環境】 RedHatLinux7.2 Apache_1.3.27 CGI動作確認済み 掲示板のCGIスクリプトをサイトからDLし、Linux上のapacheで動かそうとしています。 perlのパスを通し、.cgiの文字コードをEUCに変換することで動作したのですが、文字コードの問題が発生してしまいました。 CGIがはき出す掲示板のHTMLはEUCです。Windowsのブラウザから閲覧した場合、文字コードは自動的にEUCが選択され問題ありません。 掲示板に書き込みを行った際に、文字コードの食い違いが発生してしまいます。Windowsから書き込んだ文字はS_JISなのでコードが2種類存在し、書き込んだ文字列(S_JIS)の方が文字化けしてしまうのです。 多分初歩的なことだと思うのですが、頑張ってみても解決しませんでした。どなたか、同現象になって無事解決した方いらっしゃいませんでしょうか?

  • アップしたホームページが文字化けします

    アップしたCGIホームページが文字化けします OSはWinXPです IEは6です 文字化け表示されたページは IEの表示~エンコードを指定して 自動選択を外すと正常に表示されます CGI作者は 文字コードEUCで作成しましたと 書いてあります。 アップロードする時に 何かの作業が必要なのでしょうか? いろいろやってみるのですがうまくいきません 3日間悩んでいる私を助けてください お願いします

    • ベストアンサー
    • CGI
  • Macでの文字化け回避

    エンコードがEUC-JPのサイトを運営しています。 これはhtmlを表示する際にphpを使っているためで、JISにしようとすると不具合が出そうなのであくまでEUCのままで文字化けを回避したいと思います。 ヘッダーの最上部に <meta http-equiv="Content-Type" content="text/html" charset=EUC-JP /> <!-- 龠 --> と書いてありますが、Macだと度々文字化けを起こすらしいです。 Winでは一応正しく表示されはしますが、ページを右クリックして「エンコード」から「日本語(自動選択)」を選ぶと文字化けします。 今のところ原因らしいものは、レンタルしているサーバーがhtml内に日本語(Sift_JIS)のコメントを挿入していることくらいです。 色々開設サイトを読んだのですが、どうしても上記の状態でお手上げになっています。 アドバイスをいただけませんでしょうか。

  • 受信メールの文字化け

    パソコン初心者です。いつも特定の人から来るメールだけ文字化けしてしまいます。他の人は大丈夫なのです。私のはエンコードが日本語(EUC)になっていて、一番上の自動選択のところにもチェックがついていました。表示→エンコード→日本語(JIS)に変えてみても文字化けのままです。ただ、日本語(自動選択)にしようと思っても変わりません。どうしてでしょうか・・・ 初歩的な質問だと思いますが、わかりやすく教えてください!m(_ _)m

  • HPを作って見たのですが・・・><。

    HPを作って見たのですが>< (Front pageとFC2のファイルマネージャーを使用) 出来上がったページが文字化けして見れないと 友人達から言われています。 ブラウザの表示→エンコード→日本語JISと日本語EUCと両方候補が 出てきてしまいます。(日本語EUCでちゃんと見れる状態です) 他の友人のHPなどをみると同じくエンコードのところを見ると JISかEUCかどちらかしか選択できないような状態に (自動的に最適なのを選択?)する様になっているのに 私の作ったページだけ 両方選択できる状態になっていて これが文字化けの原因になっているのかもしれず 直し方もぜんぜん解りません(泣 どなたか詳しい解決方法を教えてください よろしくお願い致します。

  • javascript検索窓で検索→戻る→文字化け・・・

    javascriptで作った検索窓を使い、 大手ポータルサイトに飛び、 戻るボタンを押して戻ると、 自分のページが文字化けします。 ブラウザの表示→エンコード→日本語(自動選択)にすると治りますが手動で毎回設定するわけにはいきません。 文字コードの宣言はeuc-jpになっていました。shift-jisにしてみてもダメでした。 ブラウザのエンコード表示設定を日本語(自動選択)にしても治りません。。。 どうすればよいのでしょうか?

  • エンコード

    ローカルで自分が作成したPHPファイルにアクセスした場合、ブラウザのエンコードが自動的にシフトJISを選択します。シフトJISだと文字化けし、手動でEUCを選択すると直ります。しかしページを移動するごとに文字化けをしてしまいます。 どこを直せばよいか教えてください。

    • 締切済み
    • PHP
  • linuxサーバーにUPしたCGIにネット上でwinからカキコすると文字化け

    まず、サーバー環境ですが、 OS=Fedora core1を使っています。 プログラムはメモ帳++にて、保存コードをshift_jisからEUCにし、charsetをEUCにしてます。jcode.plも入っています。  過去ログで、 http://okweb.jp/kotaeru.php3?q=565241 と同じような状況なのですが、求める答えはなくて、新たに書き込みました。 CGIのアドレスは http://www.sinjyou.info/cgi-bin/cbbs/cbbs.cgi です。ためしに書き込みをしてあるのですが、文字化けで--; 一応jcodeも最新版を入れてみたりと試行錯誤はしてみたのですが・・・ これは書き込みをしたときにそのパソコンの文字コードごと保存してしまってて、プログラムはEUCで吐き出すからそれが原因かな?とか、shift_jisにブラウザのエンコードを直すときちんと表示されるので、その書き込みをする所(というかプログラム?)の文字コードがEUCに直せてないのか・・・初心者知識でいろいろ考えましたが、どうにもならなくて。  きちんと伝えられてるか心配ですが、どうかよろしくお願いいたします。

    • 締切済み
    • CGI

専門家に質問してみよう