使用电子邮件登录,我发现HTML表单的字符集存在(可能)问题...
在文档的最顶部,我使用php:
header('Content-type: text/html; charset=utf-8');
在头部我也有:
<meta charset="UTF-8">
甚至在形式本身:
<form accept-charset="utf-8" ...>
但是,在序列化表单时,电子邮件地址将返回如下:
email=my%40email.com
有人知道为什么吗?
答案 0 :(得分:1)
我认为问题来自PHP脚本中的一些代码,用于过滤表单数据。
答案 1 :(得分:1)
是的,CoursesWeb是对的。使用urldecode($_POST['email']);
,它会自动解码其中包含所有%##
的字符串。
来自php.net:
string urldecode(string $ str)解码给定的任何%##编码 串。加号('+')被解码为空格字符。
(php.net/manual/en/function.urldecode.php)