• ベストアンサー

perlでiモードHTMLを書出す時

perl初心者です。 基本的なことを教えてください。 万能ではありませんが、perlでブラウザを判別してiモードとezwebに対応したHTMLを出力するスクリプトを作ってみようかと思っています。 そこでiモードHTMLは文字コードがShift_JIS固定と何かで読んだことがありますが、これを書出すスクリプトをShift_JISで記述すると何か問題が起こるものなのでしょうか。 教えてください。

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

質問者が選んだベストアンサー

  • ベストアンサー
  • taseki
  • ベストアンサー率66% (155/233)
回答No.2

perlで日本語を扱う場合は、おっしゃるようにスクリプトをShift_JISで記述すると何かと問題が起きます(perlに限りませんが)。 しかも思わぬところで問題が起きるので、解決が厄介になることもあります。 なので、スクリプトの記述自体はEUCで扱うのが最も無難です。出力する時点で、Jcodeなどを使ってShift_JISに変換すれば良いです。 ちなみに、iモードはUTF-8にも対応してたような?(未確認)

cyokokichi
質問者

お礼

ご親切なご指導ありがとうございます。 初心者なので思わぬところで問題が起きるのもいやですからおっしゃられるようにEUCで記述させていただきます。 >iモードはUTF-8にも対応してたような? これははじめてききました少し調べてみます。 ありがとうございます。

その他の回答 (1)

  • osamuy
  • ベストアンサー率42% (1231/2878)
回答No.1

別に問題はありません。 というか、問題を起こさないように記述する必要があります。

関連するQ&A

  • perlでHTML出力時の文字コード

    Perlスクリプト中でHTML出力しているのですが、print "Content-type: text/html\n\n";と記述するとEUCで正常に表示され、print "Content-type: text/html; charset=Shift_JIS\n\n";と明示的にSJISを指定すると空白ページが表示されてしまいます。このスクリプトの他の場所ではprint "Content-type: text/html; charset=Shift_JIS\n\n";で正常にSJISで表示されます。どうしてだかわかりません。どなたかご教授お願いします。

  • perl初心者です。iモードのファイルサイズについて教えてください。

    perlをはじめて2週間ほどです。 素朴な疑問で申し訳ありませんが、perlであるファイルからデータを読み込み加工してHTMLで書出し、一部をあるファイルに書きこむスクリプトを作りました。 今パソコンで動作を確認しているところですが、いずれこれをiモードでも表示させたいと思っています。 だいたい何をすれば良いか掴めているつもりですが、素人が作ったスクリプトなのでファイルサイズが非常に問題になっています。 これをiモードで表示する場合のファイルサイズは、cgiのファイルサイズ+読み書きするファイルのサイズと解釈するのが妥当なのでしょうか。 教えてください。

    • ベストアンサー
    • CGI
  • htmlとperlを記述する時の文字コードについて

    今からホームページを作成するところです。 やりたいこととして、 1.html全体はShift_JISで記述 2.Shift_JISのtxtファイルから検索をかけて該当レコードを表示させるページをperl(CGI)でhtmlとして出力 この場合perlはShift_JISで記述すると問題があるでしょうか? CGIでtxtファイルを操作したとき内部ではeuc-jpで扱われる為、入出力の際にはjcodeなどを使った相互変換が必要になるとか思いますが、こちらの問題は取りあえずおいておきます。 perl自体はやはりeuc-jpで記述すべきでしょうか? htmlも含めて全てeuc-jpで記述すれば問題ないかと思うのですが今後の参考の為に聞いておきたいと思い質問させて頂いております。 また、上記のやりたいことを実現するのにperl以外のもっと良い方法があればご紹介頂ければ幸いです。 何卒よろしくお願い致します。

    • ベストアンサー
    • Perl
  • HTMLからPerlを呼び出すには?

    今、Perlで他のサイトのtxtファイル(中身はliタグやaタグのHTMLファイルで、そのサイトではSSIで呼び出されています)を、入手して表示させるプログラムを作っています。 これを、呼び出して、あたかも私のサイトのように見せるにはどうすればよいでしょうか? 現在はiframeを使ってそのままtxtファイルのアドレスを指定しているのですが、拡張子がtxtであるため、IEでしか見れないという不具合があります。 これを解決するために、とほほさんのwww入門 http://tohoho.wakusei.ne.jp/wwwperl2.htm#socket で紹介されているPerlを参考にしました。そのPerlのファイルをブラウザから直接URL指定すれば実行できるようにはなり、txtの中身が表示されるようになったのですが、どのようにHTMLから呼び出せばよいのかわかりません。 やはりSSIで実行するしかないのでしょうか。 javascriptの場合、<script>タグでHTMLに直接スクリプトを記述できますが、Perlでもそのようなことは可能ですか?

    • ベストアンサー
    • HTML
  • Perlの文字コード

    1-2年ほど前、Perl5.8でソース自体をUTF8N(LF)で記述するようになり、 以下のように書いていました。 use utf8; use encoding "utf8"; use Encoding; それからPHPに移り、PHPでは、ソースはEUC-JP、DBもEUC、HTMLに出力する際もEUC-JPで統一していました。 最近またperlを使い出して疑問に思ったのですが、 perlではどのような文字コードで統一すれば一番よいのかということです。 javascriptはUTFだと動作しない端末(ザウルス)などあり、 perlもEUC-JPで統一しようと考えています。 昔、UTF8にこだわったのは、おそらく 「構」という文字は5Cなので、 文字コードによる不具合(ソース,js,cssで)を避けるためと、流行のUTF8にしたと思います。 perlでEUC-JPで文字コード統一させるメリットデメリットが知りたいです。 最近perlで書かれたサイトでHTML出力がShift_JISだったのですが、perlソースもシフトJISかは知りませんが、Shift_JISで統一するデメリットが知りたいです。 あと、WEBでどの文字コードが現在主流で、今後どうなるかも知りたいです。 EUC-JPで安泰なら、話は早いですが・・・

    • ベストアンサー
    • Perl
  • iモードとCGI

    現在iモード用のCGIを作ろうと思っています。 CGIはサーバサイド・スクリプトですので、 サーバ側の環境が整っており、CGIによって生成されるHTMLファイルがiモードの仕様に合っていれば、PerlやPHPなど、どの言語を使ってもよいということでしょうか?またそれらとデータベースを連携させても問題ないということでしょうか? iモードに関してはまったく知識がありません。 基本的なことかもしれませんが、よろしくお願いします。

    • ベストアンサー
    • CGI
  • ブラウザが文字コードを誤判別する

    PHPでフォームを含むHTMLを出力しています。 POSTを使ってページ移動すると、ブラウザが文字コードを誤判別します。 表示が文字化するのではなく、ブラウザのエンコードが誤判別され、POSTで次ページに移動するとPOSTされる文字列だけが文字化けします。 リンクによる移動では、誤判別しません。 php.iniの設定 default_charset = Shift_JIS mbstring.internal_encoding = EUC-JP mbstring.http_output = Shift_JIS PHPのソースは、EUC-JPで書いています。 出力するHTMLには、 <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS"/> をヘッダーに記述しています。 この現象は100%発生するわけではなく、完全にランダムです。 確実な再現手順はありません。 ブラウザは、WinXP Pro SP2 + IE6.0 です。 ブラウザの不具合でしょうか?

    • ベストアンサー
    • HTML
  • HTMLとCSSのcharset

    HTMLとCSSのcharset(文字コード)は揃えたほうがいいのでしょうか? HTMLはShift-jisですが、CSSはUTF-8です。 本来はサイト全体をUTF-8にしたいのですが、事情があって一部のHTMLだけShift-jisにせざるをえないのです。 とあるサイトで、揃えないと一部のブラウザで文字化けがおこる可能性がある・・・と書いてあるのを見かけましたが、一部のブラウザとは一体どのブラウザのどのバージョンなのかはっきり書いておらず、曖昧すぎてあまり参考になりません。 実際のところはどうなのか、詳しい方いらっしゃいましたらどうぞよろしくお願い致します。

  • Perlでプロクシ越えでHTMLファイルを読み込むスクリプト

    Perlでプロクシ越えでHTMLファイルを読み込むスクリプトを書きたいのですが、どのように記述すればよいでしょうか?

    • ベストアンサー
    • Perl
  • PHPプログラム内でHTML作成時の文字コード

    お世話になります。 PHPコード・及び内部エンコーディングはEUC-JPでプログラムを作成しています。 プログラムでHTMLファイルを作成する処理があるのですが、どうしてもEUC-JPで作成されてしまいます。 中身(<html>~)はmbstringできちんとShift_JISに変換して出力するのですが、ファイル自体の文字コードがEUC-JPで保存されているようで、ブラウザで表示するとエンコードがEUC-JPになって表示され、文字化けしております。 ブラウザのエンコードをShift_JISに直せば文字化けしないで表示されるのですが…。 プログラムから作成したファイルをShift_JISで作成する方法をご教授いただけましたら幸いです。 php.iniの設定をいじる権限はありません。また、プログラムをShift_JISにする以外で方法をお教えいただけないでしょうか。

    • ベストアンサー
    • PHP