• 締切済み

cgiでの文字化け

配布cgiのHTML出力部分に文字を挿入しようと思い、 「公式ページ」と入力したところ「誤欠【ージ 」 となってしまいました。 そこで色々調べ、ソフトを使い、初めから 「ク・ー・レ。シ・ク」と入力したところ「公式ページ」 と表示され、これは良かったのですが、 他の文字化けする文字を同じようにやったのですが直るものとそうでないものがあります。 どうすればいいでしょうか? あと自分はcgiのソースことは殆ど分からないのですが…

  • CGI
  • 回答数3
  • ありがとう数1

みんなの回答

noname#79209
noname#79209
回答No.3

全く当てずっぽうですが、 「\公式ページ」としてみてうまくいきませんか?

  • ralf124c
  • ベストアンサー率52% (232/446)
回答No.2

CGIに限らず、文字コードを無視して正常表示できるページ製作を行うことはできません。 CGI出力が、CGIそのものとの文字コードが一致していないために生じている問題です。 CGIがHTMLを出力しているのであれば、ブラウザ側の環境がWindowsの場合<meta>タグでのコード指定がなけれ ばページそのものは「シフトJISコード」で表示しようとします。  通常、CGIファイルは正規表現などの文字列処理をまともに行おうとする場合「EUC」と呼ばれるコードで記 述されることが多いです。  この、不一致状態を打開するためには、   1.CGIがらみはHTMLを含めて「EUC」に統一する。または、文字コードに配慮して製作する。   2.出力HTMLには<META>タグでコンテンツ言語及び文字セットを指定してやるか、HTML先頭にコメントをい     れて自動判定可能な全角文字をセットしてやる(古いやり方なので今はもう・・・)。      例:       <meta http-equiv="Content-Language" content="ja">       <meta http-equiv="Content-Type" content="text/html; charset=shift_jis">  もしも出力が「プレーンテキスト」で出力されるなら、CGI内部でシフトJISに変換して出力してやるのが良い のですが、まともにやっていても環境によってシフトJISは化けやすいので要注意です。  CGIで利用するコードはEUCをおすすめします。(流行りはUTF-8みたいですが・・・) CGIそのものの文字コードを知るにはテキストエディタの文字コード表示させるオプションなどを利用します。 フリーのEmEditorは右下に表示され、シェアの秀丸などは設定でWondowsタイトルバーに表示されます。

  • akuhijrwq
  • ベストアンサー率35% (381/1064)
回答No.1
doumyaku
質問者

お礼

書き込みありがとうございます。 いずれも試してみたのですが無理でした。 元からcgiの中に入っていた文字は文字化けしていないのですが、自分が追加で入力したところは文字化けするようです。

関連するQ&A

  • CGIで文字化けする

    フリーのCGIを使って掲示板を設置しました。 CGIの中身に若干手を加えてカスタマイズしているのですが、一部の文字が化けてしまいます。 CGIの中で、HTMLとして出力させる部分に、他のページへのリンクなどを埋め込んだのですが、その一部が文字化けしています。 文字化けする文字を記事として掲示板で投稿すると化けません。 何をチェックすればいいのでしょうか? ちなみに、<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS" />とヘッダーに書いています。 その他、不足している情報があればご指摘ください。

    • ベストアンサー
    • CGI
  • CGI(Perl)の文字化けについて

    WEBフォームからの入力データをHTMLに加工して表示するというシンプルなCGIプログラムなのですが、 全角スペースの後に全角カタカナが入ると、全角スペースの部分から後が文字化けしてしまいます。 他はきちんと表示されているのですが、全角スペースとカタカナが続いているのが良くないみたいで、文字化けしてしまうようです。 全角スペースを取ってしまえばいいのかと思い、WEBで検索して色々と試してみましたが、変わりません。。 このような場合はどういう対処をするのが一番いいのでしょうか。 文字コードはEUCを使っています。(WEBフォーム、CGIとも) 教えてください。よろしくお願いいたします。

    • ベストアンサー
    • CGI
  • CGIで作ったHTMLの文字化けについて

    CGIのヘッダを "Content-type: text/html\n\n" として、HTMLをブラウザに出力するcgiを作っているのですが、 「表示」という文字が「侮ヲ」と文字化けしてしまいます。 HTMLの<head></head>内には print "<meta http-equiv=\"Content-Type\" content=\"text/html; charset=shift-jis\">"; と記述して日本語を指定しています。 文字化けの原因がまったくわかりません。 心当たりありませんでしょうか?

    • ベストアンサー
    • Perl
  • cgiでの文字化け

    <TD bgcolor="#ffffff" align="center">¥36000<BR>個数 <SELECT name="商品名:白雲"> <OPTION value="" selected>--</OPTION> <OPTION value="1"> 1</OPTION> <OPTION value="2"> 2</OPTION> </SELECT></TD> 上記記述がHTML内にあるのですが、これをmail.cgiを使って送信すると 確認画面や送信されたメールで文字化けをしてしまいます。 文字化けするのは「雲」という文字で、雲の文字を空などにしても文字化けしません。 他の項目もあるのですが、こちらも文字化けしません。 ちなみに、textエリア内に書き込まれた雲と言う文字も文字化けしません。 なぜ、雲という文字だけ文字化けしてしまうのでしょうか? どうにかして雲を表示させる方法はありますか?

    • ベストアンサー
    • CGI
  • CGIから出力される文字が化けて表示される

    メールフォームのCGIが出力するHTMLがブラウザで正常に表示されません。 HTMLで書いたメールフォームから、CGIを使って指定メールアドレスに文面を送信するページを作っています。 CGIとメールフォームは、ページを設置するレンタルサーバのサポートから入手した、公式のバージョンに手を加えて使っていますが、動作中に表示されるページの一部が文字化けする障害が発生してしまいます。 状況は下記の通りです。 1.フォームの送信ボタンを押すと、内容確認を促すページにジャンプ、もし入力漏れがあれば   警告ページにジャンプするのですが、どちらにジャンプしても表示が化けてしまいます。 2.文字コードを確認すると、CGIから出力されたHTMLが欧文(ISO)形式として認識されています。 3.CGIと、呼び出しに使っているHTMLはEUC形式で保存されているので、表示モードをEUCに   切り替えると、正しい内容で表示されます。   また、実際にメールを送信すると、受信メールも正常に送られています。 4.送信が正常に済むと、その旨を確認するページが表示されるのですが、そのページは正しく   表示されます。(文字化け表示のまま遷移しても、正しく表示されます) 5.文字化けしているページのソースを確認すると、一応charasetでコードがEUCに定義されている   ようなのですが、ブラウザ側では認識されていないようです。 画面の遷移を整理しますと、【フォーム】>【確認/警告】>【送信完了確認】となりますが、真ん中にある「確認/警告」の両ページのみが文字化けする、という感じです。 何か対応方法をご存知でしたら、ご教授頂けますでしょうか。 よろしくお願い致します。

    • 締切済み
    • CGI
  • RSSリーダーのCGIによる文字化け

    問題はCGI使用の際、一部文字化けしてすまうことです。 RSSリーダーからlog出力の際に文字化けしてしまうようです。 http://www.candy-cgi.com/perl/RSS_reader_Type1.html こちらのCGIを利用しているのですが、構造を見てみると 1.RSSファイルをメインCGIが数分ごとに処理→2.logファイルに出力→3メインCGIがそれをHTML化して書き出す という風になってるようなのですが、1から2にかけて、ある文字が文字化けしてしまいます。 具体的には「~」の文字が「?」に変わってしまうのです。 もっと具体的に言えば、「もみあげちゃ~しゅ~」→が「もみあげちゃ?しゅ?」となります。 それ以外の文字はいまのところ文字化けするのを確認しておりません。 logファイルに書き出される時点で文字化けしているので、htmlに文字コードをきちんと書き記すなどの対策は効果がありませんでした。 解決ヒントになりそうなことでもあったら、よろしくお願いします。

    • ベストアンサー
    • CGI
  • CGIプログラムを使った申し込みフォームをHTML形式のメールで送りました。ソースを開くと文字化けしてしまいます。

    CGIプログラムを使うことにより、WEB上から申し込みフォームを使って入力事項をHTML形式によりメールしました。しかし、ソースを開いてみると文字化けしています。 CGIプログラムは、Shift JIS で保存したものを送信しているのですが。。 どうすれば、文字化けしない、きれいなソースが見れるようにできるでしょうか?

    • ベストアンサー
    • CGI
  • .cgi でタグが勝手に変換されました。文字化け?でしょうか?

    .cgi でタグが勝手に変換されました。文字化け?でしょうか? Firefoxブラウザで表示すると、変になりました。 ブラウザでのソースをみると、一部だけが文字化けしていました。 実際のソースは問題ありません。 何故、ブラウザが正しく表示されないのでしょうか? ------------------ #! /usr/bin/perl print <<HTML; からHTMLを挿入しました。 <strong>全角スペースの後にTV</strong> の TV</ の部分だと思いますが消えて、 当然、その後の文字が全部太字(<strong>)が適応されちゃいました。 全角スペースを使ってはいけないのでしょうか? 何故こうなっちゃったんでしょうか? 他の全角スペースは問題ありませんでした。

    • ベストアンサー
    • CGI
  • 文字化けについて

    インターネットであるページを開くと、そのぺ-ジの一部分、または全てが文字化けをするようになりました。 他の方に回答のあったようにttfCache ファイルを削除してもなおりません(ttfCache ファイルはないと表示されます)。また、文字化けするページは決まっています。 どうしたらよいでしょうか? windows2000,IE6を使っています。 また、ウイルスには感染していません。

  • 文字化けを直したい!!

    MacOS8.0を使っています。 IEでHPを見ると、文字化けするページがあるのです。中には文字セットで自動入力やJIS等に切り替えて見られるページもあるのですが、それでも直らない場合はどうしたらよいのでしょうか? また、文字化けしないページでも、文字を入力する欄に入力すると入力した文字が化けるんです。gooのページでもそうです。 どなたか、よいアドバイスをおねがいします。

    • 締切済み
    • Mac