CGIフォームに書いてある @ が消える対策を教えてください。

このQ&Aのポイント
  • perl、シフトJISのメールフォームCGIをダウンロードして利用しています。このCGIの設定画面で登録したメールアドレス署名部分のinfo@example.comの @ 部分の記号が消えちゃいます。
  • 送信画面からメールを送った場合は全く文字化けしません。@にするのが良いのでしょうか? 多くの環境で文字化けさせたくないのですが。
  • 数時間ほど調べたのですが解決できませんでした。詳しい方ご回答をお願いします。
回答を見る
  • ベストアンサー

CGIフォームに書いてある @ が消える対策を教えてください。

CGIフォームに書いてある @ が消える対策を教えてください。 perl、シフトJISのメールフォームCGIをダウンロードして利用しています。 このCGIの設定画面で登録したメールアドレス署名部分の info@example.comの @ 部分の記号が消えちゃいます。 (タグとか使いません。テキストで登録すれば改行も自動反映します。) 送信画面からメールを送った場合は全く文字化けしません。 @にするのが良いのでしょうか? 多くの環境で文字化けさせたくないのですが。 以下の文字化けテストもしてみました。 ------------------------------------ @@―ソ噂十申貼能表暴予禄@@ @@\―\ソ\噂\十\申\貼\能\表\暴\予\禄\@\@\ @@―\ソ\噂\十\申\貼\能\表\暴\予\禄\@@ メール info@example.com メール info@\example.com メール info@example.com ------------------------------- 結果は、以下のようになりました。 ------------------------------- @@<縁嵩舶沫蓮@ @@―ソ噂十申貼能表暴予禄@@ @@―ソ噂十申貼能表暴予禄@@ メール info.com メール info@ xample.com メール info@example.com ------------------------------- 数時間ほど調べたのですが解決できませんでした・・・ 詳しい方ご回答をお願いします。<(_ _)>

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

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

  • ベストアンサー
  • YkazubonY
  • ベストアンサー率30% (26/86)
回答No.1

@の前に¥(円記号)を付けると良いと思います。 \@ な感じです。

takumana20
質問者

お礼

別のところに $mail を作り、 メール $mail とする事で解決しました<(_ _)>

takumana20
質問者

補足

回答ありがとうございます。 半角の \@ で文字化けしませんでした。 その後詳しく調べたりテストしてみましたら 登録画面で登録する場合には、単なる @ だけでも文字化けしませんでした。 でも、CGIに直に書きこむ場合には @ で直接書くと文字化けする事がわかりました。 その場合でも、\@ や @ なら文字化けしませんが、 メール info\@example.com メール info@example.com メール info\@example.com のどちらにするべきでしょうか? どれでも同じでしょうか?

その他の回答 (1)

  • mpro-gram
  • ベストアンサー率74% (170/228)
回答No.2

その文字列は、perlのプログラムソースに ダブルクォートで括って、記述しているのでしょうか? perl では、 @example は配列なので、ダブルクォートで括って変数展開してしまうと、存在しない配列として空文字列に置換され、@とそれに続く記号以外の文字は消えます。 シングルクォートで括れば、@配列の変数展開はされません。

takumana20
質問者

お礼

別のところに $mail を作り、 メール $mail とする事で解決しました<(_ _)>

takumana20
質問者

補足

回答ありがとうございます。 登録画面ではなく、それを登録しておく CGIが別にありまして $***** = <<_ATR_; メールなどの署名 メール info@example.com _ATR_ 送信するCGIも別にありました。 $xxxxx = $*****; ~~~~ jcode::convert(\$xxxxx,'sjis'); &SendMail($~~, $~~, $~~, '', $xxxxx); 登録画面に直接 @ を使えば文字化けせず、 CGIのに直接 @ を書けば文字化けするようです。

関連するQ&A

  • ソ噂浬欺圭構蚕十申曾箪貼能表などの文字化け

    CGIプログラムで、htmlに書き出す文字で、「ソ噂浬欺圭構蚕十申曾箪貼能表暴予禄兔喀媾彌拿杤歃濬畚秉綵臀藹觸軆鐔饅鷭」があると文字化けするので、文字の後ろに \ を付けますが、これらの文字はどうして文字化けしてしまうのか、どなたかご存知のかたお教え下さい。 前々から不思議に思っていて。。。

    • ベストアンサー
    • CGI
  • PHPの文字化けするもじについて

    お問い合わせフォームをPHPで作っているのですが、 下記のPHPで文字化けする文字の一覧の中で、 IX・・がどうしても文字化けしてしまいます。 私はエンジニアではないのですが、開発をしている中国人のエンジニアがどうしても修正することができなくて困っています。 コードの記述や、参考サイト(日本語でOK)があれば、 エンジニアが見てわかりますので、どなたか分かる方はいらっしゃらないでしょうか。 ■PHP文字化けする文字一覧 ― ソ Ы IX 噂 浬 欺 圭 構 蚕 十 申 曾 箪 貼 能 表 暴 予 禄 兔 喀 媾 彌 拿 杤 歃 濬 畚 秉 綵 臀 藹 觸 軆 鐔 饅 鷭 よろしくお願いいたします。

    • 締切済み
    • PHP
  • メール送信プログラムで特定文字の文字化け

    PHP初心者です。メール送信プログラムを作成しました。 色々調べて、 //表・予・申・能・十・ソなど特殊漢字の後につく\マークを削除 変数 = stripslashes(変数); でエンマークはとれたのですが、また新たな問題が発生してしまいました。 例えば、山本という名前でフォーム入力すると本という文字が文字化けしてしまいました。送信者名は文字化けしていないのにメールの中身の本という文字が文字化けしてしまいました。どなたか助けてください。

    • ベストアンサー
    • PHP
  • phpからのメール送信

    サーバにはpostfix/phpがインストールされており mb_send_mail関数を使ってメールを送信しております。 example.comというドメインを例として説明すると fromがtest@example.comというメールアドレスでは問題なく送ることができるのですが、 ドメインをexample.com→mail.example.comと変更し、test@mail.example.comというアドレスで送ろうとすると maillog上はtest@mail.example.comから送っていることになっているのですが、 メーラーで受信するとformがtest@example.comになっております。 サブドメインのmail.example.comから送るようにするにはどのようにしたらよろしいでしょうか? main.cf virtual_alias_domains=example.com mail.example.com virtual_alias_maps = hash:/etc/mail/virtual /etc/mail/virtual test@example.com test test@mail.example.com test

  • 同一メールアカウントを別ドメインで運用したい

    同一メールアカウントを別ドメインで運用したい Debian GNU/Linux 5.0 + Postfix + Dovecot(POP3) でメールサーバを運用しています。 近々、現在運用中のドメイン以外に新たなドメインを追加して、 info@example_a.com info@example_b.com というように、別ドメインで同一メールアカウントを、同一サーバ内で取得したいと 思っております。各アカウントは独立(別々の場所で送受信)して使いたいのですが、 設定の仕方がよくわかりません。 よくあることだと認識はしておりますが、自分の探しようが足らないのか同じような ご質問が見つけられずにおり、皆様のお知恵を拝借したく存じます。 よろしくお願いいたします。

  • 【Becky!】別メールBOXのフォルダに入る

    Becky! Internet Mailに関する質問です。 詳しい方、お願いします。 【問題】 受信メールが別メールボックス内のフォルダに振り分けされてしまう。 下記2つのメールボックス(メールアドレス)があったとします。 infoアットa.com infoアットb.com infoアットa.comの方は複数人で受信&返信を行っているので メール送信時は送信元メアドである「infoアットa.com」をBCCに入れて送信しています。 フォルダ別けしないと受信箱に入ってくるので 「送信」というフォルダを作り「From:infoアットa.com」で入るよう設定しています。 そして、問題なのはinfoアットa.comからinfoアットb.comにメールを送信した時です。 infoアットa.comとinfoアットb.comはメールボックスを完全に別けて作成しており メールサーバーも違います。 infoアットb.com宛てのメールはinfoアットb.comのメールボックス側でのみ受信設定しています。 なのに、infoアットa.com側メールボックスにある、先程作成した送信ボックスに振り分けされてしまいます。 infoアットb.com側メールボックスの受信箱に入ってきてくれないと困ります。 どうしてこうなってしまうのでしょうか。 回避策はございますでしょうか。 宜しくお願い致します。 Becky!バージョン 2.57.03 OS Windows Xp Pro SP3 ※投稿が即時反映されない為、「@」⇒「アット」に置換しています

  • スパムメール対策

    スパムメール対策として ホームページやブログにメールアドレスを公開する場合に info*nantoka.com    スパムメール対策表示です。*は@に変更してメールをお願いします。 と書く事は有効でしょうか。

    • ベストアンサー
    • Mac
  • Windows Live IDを2つもっており、1つに集約(マージ)したい

    お世話様です。 Windows Live IDを2つ持っています。 仮に、登録メールアドレスを、foo@example.com と bar@example.com とします。 foo@example.com の情報を、bar@example.comの情報へ統合させ、 foo@example.com のIDは廃止したいと思っています。 なお、Windows Live IDといっても、自分は、Windows Live Messangerでしかほとんど使っていないため、 で、foo@example.com でめっせに登録している友人知人を、 bar@example.comのめっせに以降できればと思っています。 なお、bar@example.comのメッセに登録されているのは、削除してもいいと思っている知人なので、(可能ならばですが)bar@example.com でのメッセの友人の登録は全削除して、foo@example.comのメッセ登録知人の情報を、bar@example.com へ移動できれば十分だと思っています。 どのようにすればこれが実現できるでしょうか? やはり、foo@example.comのメッセ に登録している知人にひとりひとり、 「bar@exameple.comで登録しなおしてください」とお願いするしかないでしょうか? 以上、よろしくお願いします。

  • CGIについての質問です。 フリーCGIをDLさせ

    フリーCGIをDLさせていただき、UPしました。 http://gromit.info/cgi/yoyaku_1_e.cgi 予約をしたい日をクリックして、 画面下から予約状況を選択できるはずなのですが、 選択項目が文字化けを起こしています。 項目設定用のtxtファイルは作者の指示通り 記号:(半角コロン)説明→改行 と入力しメモ帳で作成しました。 ↓作者の方の説明ページ http://www.cgikon.com/free_file/file_394.html 明日までに形にしたいと思っています。 CGIに詳しい方に対処法をお教えいただければ幸いです。 よろしくお願い致します。

    • ベストアンサー
    • CGI
  • 【WinSCP】フォルダ名が「能ソ表」だと開けない

    FTPをFFFTPからWinSCPに乗り換えようかと考えている者です。 使っていて気づいたのですが、ローカル側(自分のPC側)のフォルダー名に「能 ソ 表」などが混入している場合、 そのフォルダーを開くことができません。 「能 ソ 表」などはshift_jisでの文字化け常習犯なので、それがからんでいると想像するのですが対策はあるのでしょうか。 お詳しい方、よろしくお願いします。 <環境> Windows7 WinSCP4.3.5

専門家に質問してみよう