1

ログインに電子メールを使用して、(おそらく) HTML フォームの文字セットに問題があることがわかりました...

ドキュメントの一番上で、私は php を次の目的で使用しています。

header('Content-type: text/html; charset=utf-8');

ヘッドセクションには次のものもあります。

<meta charset="UTF-8">

フォーム自体でも:

<form accept-charset="utf-8" ...>


ただし、フォームをシリアル化すると、電子メール アドレスは次のように返されます。

email=my%40email.com

誰かが理由を知っていますか?

4

2 に答える 2

1

問題は、フォーム データをフィルタリングする PHP スクリプトのコードにあると思います。

于 2012-08-08T16:41:59.693 に答える
1

はい、CoursesWeb はこれで正しいです。を使用するurldecode($_POST['email']);と、すべてが含まれる文字列が自動的にデコード%##されます。

php.netから:

string urldecode ( string $str ) 指定された文字列の %## エンコーディングをデコードします。プラス記号 ('+') はスペース文字にデコードされます。

(php.net/manual/en/function.urldecode.php)

于 2012-08-08T16:45:12.850 に答える