時折、次のエラーが発生します。
An invalid character was found in the mail header: ''
意味がありませんでしたが、調査すると、目に見えないキャラクターがそこにあるようです.
これがどのユーザーかはわかっているので、DB から選択します。
select email from user where email = 'their@address.com'
ユーザーの電子メールは のように表示されますがtheir@address.com
、それをテキスト エディターにコピーすると、奇妙な先頭文字が表示されます。
では、同じ文字列ではないのに、なぜ sql 等値演算子が一致するのでしょうか? そのいくつかの目に見えない文字のため?
その先頭の文字だけをテキスト ファイルに Unicode として保存し、それを 16 進エディターで開くと、次のように表示されます。
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
ありがとう