使用电子邮件登录时,我发现HTML表单的字符集(可能)存在问题……
在文档的最顶端,我使用php:
header('Content-type: text/html; charset=utf-8');
在head-section中,我还有:
<meta charset="UTF-8">
甚至是在表单本身中:
<form accept-charset="utf-8" ...>
但是,在序列化表单时,将按如下方式返回电子邮件地址:
email=my%40email.com
有人知道为什么吗?
发布于 2012-08-09 00:45:13
是的,CoursesWeb在这一点上是对的。使用urldecode($_POST['email']);,它会自动解码包含所有%##的字符串。
来自php.net:
string urldecode ( string $str )对给定字符串中的任何%##编码进行解码。加号('+')被解码为一个空格字符。
(php.net/manual/en/function.urldecde.php)
发布于 2012-08-09 00:42:00
我认为问题来自于PHP脚本中过滤表单数据的一些代码。
https://stackoverflow.com/questions/11869084
复制相似问题