• 締切済み

英語キャラセットの送信フォームの入力内容確認ページで日本語だと改行されないのです

英語キャラセットでつくってあるウェブページの問い合わせフォームページで、日本語を入力した場合入力内容確認のページで出力されたものが日本語でなく記号(ああというような)となって出力され、かつ、テーブルのTDタグの横幅をピクセル指定しているにも関わらず(テーブル全体をガチガチにピクセル指示しているにも関わらず)、改行がされずに横一行で延々と表示されてしまいます。サイトデザインぐちゃぐちゃです・・・。 英語のサイトですから当然キャラセットは日本語でないもの(iso-8859-1)にしてあります。 日本語でなく英語で入力すると、TDタグのピクセル指示が効いていて自動的に改行がなされてページデザインが壊れることはありません。 どうしたら日本語で入力しても自動改行されるようにできますでしょうか? 英語サイトではありますが、日本人からの日本語での問い合わせも受けたいのです。 また、これがもしどうにもできないのならば、日本語が入力された場合、「対応していない言語が入力されています。英語で入力ください」などのエラーメッセージが出るようにはできないでしょうか。 ちなみに、キャラセットを日本語のShift_JISで、かつjcode.plを使用したCGIですとこの逆の現象が起きます。 日本語では自動改行がなされ、英語だと改行されずに延々一行です。 単にテーブルの組み方の問題ではないと思います。もう何十回もこんな経験してても直りませんので。どんなシンプルなテーブルにしてもうまくいきません。 ご経験者の方いらっしゃいましたら助けてくださいませんでしょうか。宜しくお願い致します。

みんなの回答

  • YanTan
  • ベストアンサー率45% (5/11)
回答No.1

> 入力内容確認のページで出力されたものが日本語でなく記号 > (ああというような)となって出力 入力を受けるときにcgi-lib.pl(URL参照)などを使えば、通常の文字コードに変換されるのではないかと思います。 > 日本語が入力された場合、「対応していない言語が入力されています。 > 英語で入力ください」などのエラーメッセージが出るようにはできないでしょうか。 日本語かどうか自動判別すればある程度は可能ですが、100%は無理だと思います。 > ちなみに、キャラセットを日本語のShift_JISで、かつjcode.plを使 > 用したCGIですとこの逆の現象が起きます。 > 日本語では自動改行がなされ、英語だと改行されずに延々一行です。 この理由はよくわかりませんが、入力文字列をどのようにして受けているのでしょう? それによってなにか変な変換をしてしまっているとか。

参考URL:
http://cgi-lib.berkeley.edu/
acidend
質問者

お礼

連絡遅れまして済みません。アドバイスありがとうございました。cgi-lib.plを試してみようと思います。 日本語の方で英語が改行されないのはよく考えるとありえないケースなので気にしないで良いと思い直しました。 スペース無しで延々とアルファベットを入力し続けた場合のみでした。単語間にスペースを入れて確認画面へ展開すると問題なく改行されました。 お手数おかけしました。

関連するQ&A