有时我会发生这些错误:
An invalid character was found in the mail header: ''
这没有任何意义,经过调查,那里似乎有一些看不见的角色。
我知道这是哪个用户,所以我从数据库中选择它们:
select email from user where email = 'their@address.com'
用户的电子邮件显示为their@address.com
,但将其复制到文本编辑器中,会显示一个奇怪的前导字符:
那么,当它不是同一个字符串时,为什么 sql 相等运算符匹配?因为它有一些看不见的字符?
如果我将文本文件中的前导字符保存为 unicode 并在十六进制编辑器中打开它,我会看到:
FF FE 0E 20
更新:有问题的字节是:
E2 80 8E
这是什么疯狂,它是如何到达那里的?
将来如何防止这种情况,以及如何清理我的数据库(因为其中有一些)
这些是创建用户时的相关标头:
Content-Type: application/x-www-form-urlencoded
Accept: application/json, text/javascript, */*; q=0.01
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.3
Accept-Encoding: gzip,deflate,sdch
Accept-Language: en-US,en;q=0.8
谢谢