• 締切済み

お問い合わせフォームをつくり、入力して送信すると、名前を全角で入力して

お問い合わせフォームをつくり、入力して送信すると、名前を全角で入力していると「半角カナ」で入力しないでくださいと表示されます。 メッセージでも同じ表示がされ、結局全ての入力を半角英数で入力すると送信されます。 理由がわかりません。どなたか教えていただけませんか。

みんなの回答

  • samtomsan
  • ベストアンサー率55% (1060/1897)
回答No.3

送信するとはメールのことでしょうか。 メールの場合、件名、本文に使われる文字コードが決まっています。 文字コードには ASCII JIS Shift-JIS EUC UTF8 などいろいろあります。 http://ja.wikipedia.org/wiki/%E6%96%87%E5%AD%97%E3%82%B3%E3%83%BC%E3%83%89 適切な文字を使用するか、文字コードの変換が必要な場合があります。 作られたページの <meta http-equiv="Content-Type" content="text/html; charset=EUC-JP"> のcharsetでお使いの文字コードが判ります(上記は EUC-JP の場合)。 メールの場合(日本語)は JIS に変換する必要があります。変換しない場合はサーバの文字コードで扱われますので、文字コードの違いによりエラーになります。 例えば PEAL で作った場合ですと ------------------------------------------------------------ my $from = shift; my $to = shift; my $subject = shift; my $mess = shift; &Jcode::convert(\$mess,'jis'); $mess =~ s/\r\n/\n/g; &Jcode::convert(\$subject,'jis'); $subject = &encode_base64($subject); $subject =~ s/[\r\n]//g; $subject = '=?ISO-2022-JP?B?'.$subject.'?='; print SMTP "Errors-To: $from\n"; print SMTP "Sender: $from\n"; print SMTP "To: $to\n"; print SMTP "Content-Transfer-Encoding: 7bit\n"; print SMTP "Content-Type: text/plain\; charset=ISO-2022-JP\n"; print SMTP "Subject: $subject\n"; print SMTP "\n"; print SMTP "$mess\n"; close SMTP ; return ------------------------------------------------------------ のように、convertとかencode_bas64で変更しています。 メールかどうかわかりませんが、このような文字コードの処理が抜けているためにエラーになっていると思われます。 お使いのサーバの言語で文字変換をどのように行なうか調べてみてください。

nijireiko
質問者

お礼

お教えくださりありがとうございます。しかし、説明のほとんどが理解できない私ですが、どうしてもHPに必要なので必死です。 インターネットでも検索して、先ほどやっと <html xmlns="http://www.w3.org/1999/xhtml"> このタグの中に <xml:lang="ja"> を入れました。 インターネットでは <html lang="ja"> を入れるよう支持されて、それを記入して、バリデートするとエラーで、 <xml:lang="ja"> と表示するようソフトがマークアップしてきました。 このレベルですので、たどりつくかどうか・・・。 実際にアップした画面のアドレスをご案内しますとソースを御覧になって、もっと詳しいアドバイスをいただけるのかもしれませんが、まだ公にできないのです。 もう少し試行錯誤してみます。この回答していただいた内容がわかるようになりたいとおもっています。ありがとうございました。

  • ORUKA1951
  • ベストアンサー率45% (5062/11036)
回答No.2

理由はあなた以外の誰にもわからないでしょう。 CGIをもう一度確認してください。  きちんとエンコードされているか?  CGIの文字コードは指定されたものか?  判別式に誤りはないか?  そこいらをチェックすると答えはある。それくらいの基本的なことは、いくらなんでもできないとCGIは扱えないです。  

  • violet430
  • ベストアンサー率36% (27472/75001)
回答No.1

半角カナは機種依存文字であり、文字化けの原因になるからです。

nijireiko
質問者

お礼

早々にご返事ありがとうございます。申し訳ないのですが、CGIは初めてでまったくわかっていません。しかし、どうしても作らなくてはいけないのでDreamweaverCS4 で作ったページをeonetでアップしたのですが、(アップするのも四苦八苦の状態でした)やっとウエブ上に表示されて安心したところ、今の状態です。回答くださったあなたはパソコンに詳しい方ですが、私は本当に何もわからずに本を片手に作っています。 ですので、回答くださっている内容もよくわかりません。 問い合わせフォームに「全角漢字ひらがな」で入力しても「半角カナを使用しないで下さい」と表示されるのです。 DreamweaverCS4 のCGIのところも読みましたが、とても難しくて、どこをどう変更すれば良いのかわかりません。eonetに問い合わせましたが、作ったソフトの問題なので答えれないとのことです。 もう少し調べてみますが、・・・・・・・解決できるかわかりません。

関連するQ&A

  • 全角英数が入力できない

    全角英数が急に入力できなくなりました。 以前は「英数」キーを打てば、かな入力と全角英数入力の切り替えが普通にできたのですが、いまでは「英数」キーを押すと半角英数入力に切り替わってしまいます。 あと半角/全角キーを押すと今までは半角英数に切り替わっていたのに半角カナになってしまいます。 ドライバを削除して再起動もしてみましたが、直りません。 しかも、再起動したら101/102英語キーボードになってました。 (以前は106/109表示でした) どうやっていいか、正直わからないところです。 ご存知の方いらっしゃいましたら、ご回答お願いいたします。 ちなみにOSはWINDOWS XPです。

  • 数値全角入力

    かな入力をしていますが、以前のXPでは、漢字かな入力で「英数」キーを押し、英数字を入力して「F7」キーを押すと、全角入力されました。VISTAでは、同様入力するとそのまま半角になってしまいます。全角入力するにはタスクバーのモードでいちいち全角英数を選択しなければなりません。 XPのようにかな全角から簡単に英数全角入力できる方法を教えてください。

  • 列ごとに全角英数・全角カナ・半角カナしか入力できないフォーマットをつくりたい

    エクセルで基本フォーマットを作り、他の人に配布&入力してもらった後、全てを集計&データベース化する必要があるのですが。 各列に設けた項目により、‘全角英数のみ’‘全角カナのみ’‘半角カナのみ’の入力規則を設けた後、ロックをかけてみたのですが、変換できてしまう…? 全角英数&カナに関しては【=LEN()*2=LENB()】で逃げれたように思うのですが、‘半角カナのみ’の入力設定がわかりません…;; ちなみに、別の列に入力したものを数式で半角に変換する方法は、今回のフォーマットには使いたくないのですが…?? どなたか、お助けください…**

  • 入力枠で全角カナにならない

    あるサイトで問い合わせフォームの振り仮名を全角カナで入力後に、確認画面に進むと勝手にひらがなに変わってしまうので送信不可です。」「全角カナで入力してください」というエラーが出ます。なぜでしょうか。解決方法を教えてください。

  • 全角英数入力について

    かな入力をしている者です。 普段はひらがなを直接入力しているのですが、 たまにアルファベットを入力したいとき、 今まではキーボード左の[英数]キーを押して かな⇔全角英数に切り替えていました。 ところが最近、突然設定が変わってしまい、 かな⇔半角英数になってしまいました。 どなたか元に戻す方法をご存知ありませんか?

  • 半角入力と全角入力でのトラブル

    パソコン初心者です。これまで、半角入力と全角入力を「Caps Lock/英数」のキーを左手小指で押す毎に変換を可能にしていたのですが、かな入力のモードで同上キーを押してもローマ字の下に全角入力の時に現れる破線&下線が現れ、半角入力へ替えるのに態々「Alt+半角/全角・漢字」キーを押さなければならないようになってしまいました。  これまで、左手小指を動かすだけで可能であった半角入力⇔全角入力のモード交替が、全角入力から半角入力へ替える時は、「Alt+半角/全角・漢字」とせねばならず苦痛です。  どのようにしたら、「Caps Lock/英数」キーを左手小指で触れるだけで半角⇔全角入力の交替ができるようになるのでしょうか?

  • 全角英数の入力が出来ない

    通知領域の「A」を右クリックし全角英数に・を入れても半角英数のままです Aにカーソルを持っていくと全角の表示になりますが全角での入力は出来ません 全角英数の入力の仕方を教えて下さい

  • 急に英数字の全角入力が出来なくなりました

    win7ですが、急にwin7というような全角入力が簡単にできなくなりました。 これまでは、かな/カナ 半/英数 英数のキーを押せば それぞれひらがな 半角英数 全角英数の入力でした。そして「あ」と書いてあるところをが あ A Aと変わります。 今は、「あ」と書いてあるボタンを押し 全角英数を選択して書いていますが、いちいち面倒です。 元のような簡単な操作ができるようにするには どうしたらよいでしょうか。 ちなみに、画面に出てきたwindows updataをしたら この状態になってしまいました。

  • かな入力での全角英数への切替え

    長年のかな入力者です。 最近、Vista搭載のノートPCに買い替えたのですが、全角英数への切替えに苦しんでいます。 IMEは2007です。 これまでは、「かな」の状態で[CapsLock 英数]を押せば「全角英数」に切り替わっていたのですが、同じ操作で「半角英数」になってしまうのです。 過去ログでは ・「かな」の状態でとりあえず入力して、[F9]を押せば「全角英数」に変換される。 →確かにそのとおりなのですが… ・「かな」の状態で[Shift]⇒ [CapsLock 英数]キーを押すと「全角英数」に切り替わる。 →これでも直接入力の「半角英数」になることが、しばしば。 いずれにしても、やはり、使い慣れている操作にできればと… どなたか、設定などの解決策をご教示いただければ幸いです。 よろしくお願いします。

  • 全角英数が打てない

    OS XPホームです。 カナ入力で使っています。 今まではキーボードの、 Caps Lockを1回押すと全角英数になったんですが、 そこを押しても半角にしかなりません。 もう1回押すとカナ入力に戻ります。 Caps Lockを1回押すと全角英数になるように戻したいんですが、 どうすれば直りますか?