• ベストアンサー

PHPのメールフォームを作りました。

PHPのメールフォームを作りました。 EUC-JPしか動かないサーバーな様で、 EUC-JPで作り問題無く動いているのですが、 メールを確認すると 「性別」 という字が 「辞別」 となって送られてきます。 input の部分は普通に「性別」と送られるのですが、 nameで送っている「name="性別"」の部分だけ「辞別」となります。 文字コードで「性」といれても「辞」となります。 他の字は問題ないのですが、この「性」だけ駄目のようです。 いわゆる駄目文字なのでしょうか? どなたかご教授くださいませ。

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

  • ベストアンサー
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

>メールを確認 本文と表題だとエンコード方法が違いますが、どうやってますか? またmail関数とmb_send_mail()とPEARのMailだと処理が違います。 なにで送信していますか? きちんとやるならmb_send_mail()を使わずに、mail()かPEAR:Mailで ご自身でエンコードをしてやると確実性はあがります。

tomoticks
質問者

補足

ご回答ありがとうございます。 すいません。作ったというと語弊があります。 あり物のフォームを作り変えて使っているレベルです。 確認したところ、 mail()で送信している様です。 エンコードは .base64_encode(mb_convert_encoding($変数,"JIS","EUC-JP")). こんな感じでした。 inputで入力されたデータは文字化けしないのに、 なぜnemeに入っている文字が文字化け(誤変換?)されるのがわかりません。 どちらも同じエンコードのはずなのに。。。

すると、全ての回答が全文表示されます。

その他の回答 (1)

  • RockmanX
  • ベストアンサー率50% (3/6)
回答No.2

そのファイル自体のエンコードもEUC-JPですよね? 念のためですがファイルをメモ帳などで開いて名前を付けて保存するさいに エンコードの種類がShiftJISとかUTF-8とかASCIIになってないか見たほうがいいかもです。

tomoticks
質問者

補足

ご回答ありがとうございます。 ファイル自体もEUC-JPです。 念の為、別名でエンコード選択で保存もしたので間違いないです。

すると、全ての回答が全文表示されます。

関連するQ&A