• ベストアンサー

$_POSTで文字化け?

フォーム <input name="Eメール" type="text" id="mail"> $_POSTで受け取ると、上記"Eメール"が"Eメ\ル"になります。 同じフォーム内のテキストエリアなどで入力した文字は化けません。 文字コードはフォームも受け取り側もSJISです。 お心当たりありましたらお助けください。

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

  • ベストアンサー
回答No.3

Shift_JISのダメ文字があるから、UTF-8に設定した方か良いかもしれない。 Shift_JIS(cp932) の文字コードで、2byte目が0x5c のエスケープ文字 \ になっているものの俗称(だめ文字、駄目文字) エスケープ文字は使用するフォントやロケールにより¥記号またはバックスラッシュで表示されます。 ダメ文字を含む文字列やパス、ファイル名を処理する場合には文字化け、検索不可など様々な不具合が起きることがあります。 参考URL:https://sites.google.com/site/fudist/Home/grep/sjis-damemoji-jp

sr-ki
質問者

お礼

ありがとうございます。 諸事情でどうしてもSJISにする必要がありまして、ひとまずダメ文字を避ける方向で行くしかなさそうです。

その他の回答 (2)

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

nameにマルチバイト文字(日本語など)を設定するのやめた方がいい 不可避なトラブルにつながる可能性が大。 idをmailにしているならnameもmailでよくないですか?

sr-ki
質問者

お礼

ご指摘の内容は承知しているのですが、今回は諸事情により止むを得ずこのような仕様になっております。 ひとまず化ける文字を使わない方向で行くしかなさそうですね。 ありがとうございました。

回答No.1
sr-ki
質問者

お礼

ありがとうございます。