• 締切済み

フィルタリングゲートウェイCGIのUTF-8コードへの対応方法について

フィルタリングゲートウェイCGIのUTF-8コードへの対応方法について 以下のサイトで公開されている「nogate」というフィルタリングゲートウェイについて、 UTF-8のコードを利用しているページで利用する場合に文字化けしてしまいます。 http://www.geocities.co.jp/Playtown-Denei/1097/cgi/nogate.htm 携帯で利用する場合は、DoCoMoは端末で文字コードを変換できますが、auはできないため 何とかCGI側で対応させたいと思っています。 どのような方法がベストでしょうか?

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

みんなの回答

回答No.1

そのスクリプトは、古式ゆかしく文字コードの変換に jcode ライブラリを使用しているので UTF-8 のページには対応できません。 UTF-8 にも対応させる場合には、ユニコードも扱える Jcode や Encode といったモジュールを使って文字コードの変換を行うようにスクリプトを改造する必要があります。 Perl 5.8 以降なら標準で Encode がインストールされておりますので、これを使うのがベストなやり方だと思います。

関連するQ&A

  • PHPのコードをUTF-8に変換したい。

    なんとかメールフォーム設置までこぎ着けたのですが、届いたメールが文字化けしてしまいます。HTMLの文字コードがUTF-8、PHPの文字コードがshift-jisなので原因はそこだと考えたのですがPHP内のshift-jis表記をUTF-8に変えるとPHP内で文字化けが起こってしまいます。 MultiTextConverterなどのアプリケーションを使っても同様の文字化けが起こります。 どうすればいいのか分かりません。 よろしくお願いします。

    • 締切済み
    • PHP
  • RubyってUTF16コードに対応していますか?

    Rubyで文字処理のプログラムを作ろうと思っているのですが、 RubyはUTF16コードに対応しているのでしょうか?

  • 文字コードsjisをUTF8に書き換えたい

    CGIの勉強中の者です。 文字コードはSJISで保存しているCGIをUTF8コードに換えるには何が必要でしょうか? HTMLならmeta内をSJISからUTF8に変更し、TeraPadなどのテキストエディタでUTF8に保存すればオッケーなんですが。 CGIの場合はHTMLと違って、換えるには複雑なのでしょうか? CGIプログラムの中では以下の「sjis」を「UTF8」に書き換えし、UTF8で保存しましたけど、文字化けが出てます。 <meta http-equiv="Content-Type" content="text/html;charset=shift_jis"> &jcode'h2z_sjis(*contenido) &jcode'convert(*subject,'sjis'); &jcode'convert(*infor,'sjis'); &jcode'convert(*contenido,'jis'); &jcode'convert(*res_msg,'jis'); print "Content-type: text/html;charset=shift_jis\n\n"; 宜しくお願いします。

    • 締切済み
    • CGI
  • 文字コード【utf-8】のHTMLを

    charset=utf-8で作成されているHTMLをDreamweaverで開くと テキストが文字化けしてしまいます。 他のテキストエディタで文字コードをUnicodeに設定して開いた場合も Web上で「ソースコードの表示」でソース表示してもやはり同じく文字化けしてしまいます。 この場合、どうしたら文字化けせずにソースを表示することができますか? できればDreamweaverで開けるとありがたいのですが・・・ アドバイスいただけると助かります。 どうぞ宜しくお願い致します。

    • ベストアンサー
    • HTML
  • CGIの文字コードについて

    CGIを下記URLのサイトから落として、メールフォームを設置しました。 http://www.synck.com/contents/download/cgi-perl/mailform_jcode.html 「メールフォームCGI UTF-8対応版」というメールフォームです。 mailformというフォルダの中に send.cgi(プログラム本体) check.cgi(設置確認プログラム) count.dat(通し番号を記録するファイル) があり、send.cgiはメールアドレス等を書き換える程度の編集をしております。 フォームには必須項目を設け、何も入力せずに送信ボタンを押すと、「●●が入力されていません」というようなダイアログが表示されます。ですが、必須項目を入力して送信ボタンを押すと500エラーがでます。 「●●が入力されていません」という表示がなされるということは、cgiの設置自体はとりあえずできていると考えてよろしいですよね? 文字コードが問題だと思い、検索かけてみたもののよく理解できず、色々な文字コードで保存しては、実際にアップしたメールフォームを使って試していたら、一度だけ、設定したメールアドレスにきちんとメールが届きました。しかし、自動で送信される送信内容を確認するメールの方が文字化けしてしまいました。 逆に、自動で送信される送信内容の確認メールは届かないが、文字化けしたメールが設置したアドレスに来たこともありました。 設置者へのメールを送信者への内容確認メールが文字化けせずにきちんと送れたことはありません!! 長くなりましたが、どの文字コードで読み込み、そしてどの文字コードで保存したら良いか分かりません。 cgiの編集はTerapad、サーバはさくらインターネットのライトです。 サーバへのアップは直接さくらインターネットにログインして行っております。 ※CGI初心者です。初めて設置する完全素人です。 よろしくお願いします!!

    • 締切済み
    • CGI
  • 文字コードってUTF-8が主流に?

    文字コードについては、UTF-8が主流になりつつあるってネットで観ました。 文字コードを検索すると次のような説明があります。 (UTF-8のエンコード) UTF-8は、UnicodeとASCIIコードを混在させるための規格です。 (シフトJISコード) シフトJISコードは、SJISとも呼び、Microsoft社が決めたコードでWindows95やMS-DOSやMacなどで使用されています。 その上で質問です。 1、 UTF-8が主流になるってことは、Windows、MacがUTF-8に方向転換するってことでしょうか? 2、 仮にUTF-8が主流になっても、サイトに <META http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> と記述していれば文字化けなく表示されるのでしょうか? 今の時点では判断できない質問なのでしょうか・・

  • 文字コード? 推奨UTF-8?

    以前、EUC-JPの文字コードを使っていましたが、ホームページの文字コードをUTF-8に変えた後、 クッキーやフォーム(FORMタグ)が正しく動作しなくなりました。 Perl(Perlも5.6から5.8に変更)でCGI組んでいるのですが、何が原因なのでしょうか?

    • ベストアンサー
    • Perl
  • UTF-8とASCIIコードにおける互換性について

    UTF-8とASCIIはそのASCIIコードの範囲のおいて 互換性を持ちます。(と、書籍や多種な文献にはそういった記述があります) たとえば【A】という文字をUTF-8で符号化した際は【41】(16進数で) さらにASCIIコードでも【41】という値がAという文字に割り当てられています。 確かに、一件互換しているようにみえますが、UTF-8っていうことは最終的には Unicode上のコードポイントの値・・・つまり0x0041という値に復元?(というのでしょうか)するわけですよね? でそのUnicodeの文字集合上から復元したコードポイントに対応する文字を参照しAという文字をみつけてくると・・・。 これって【A】という文字をUTF-8で符号化した歳のバイト列はASCIIと一致しているけれど 結局Unicodeコードポイントに直した場合【00】という上位バイトが無駄にくっついてきて【0x0041】となり 互換性がなくなるのではとおもったのですが・・・。 これはどういう意味の互換性なのでしょうか? 識者の方ご教授ください。 お願い致します。

  • perl cgi のエンコード SHIFT->UTF-8

    こんにちは初心者です。 現在、既存のperl cgiをカスタマイズしております。 エンコードをshift_jisからUTF8に変更したいのですが、表示はCGI自体をUTF-8に変更し普通に見ることができるのですが、書き込みをしようとすると文字化けがおこります。 jcode.plをjcode.pmに変換すればよいらしいまでは分かったのですが、どこをどう変換すればいいのかjcode.pmのサイトを見ても理解できません。簡単な説明サイト紹介やアドバイス等をいただけませんでしょうか?

    • 締切済み
    • CGI
  • UTF-8 コードでのmailtoの文字化け

    HPをつくったのですが、(HTMLのエンコードはUTF-8です。) mailtoにsubjectを追記してメールフォームを作成しました。ですが、件名のところがどうしても文字化けしてしまうので、文字をエンコードしたものを貼り付けて何とか対応しました。しかし、ウィンドウズXPまでの古いブラウザでは大丈夫なものの、VISTAでは文字化けしてしまうようです。 どうしてこうなってしまうのでしょうか?outlookなどのバージョンの問題なのでしょうか?それともOS? わかりません。理由をご存知の方、また解決策をご存知の方、どうぞ教えてください。 あと、こんなこと問題外といわれるかもしれませんが、UTF-8を単純にShift-JISに置換したのですが、レイアウトとうすべてがぐちゃぐちゃになってしまいました。たくさんのページをUTF-8からShift-JISに変換しても良い方法というのはないのでしょうか?この点も併せて回答お願いいたします。

    • ベストアンサー
    • HTML

専門家に質問してみよう