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 回答