Ignoring Unicode/UTF-8 issues

By ignoring this the code fails to properly handle non-ASCII strings is notorious for introducing gnarly heisenbugs into your code. Even simple


calls could cause problems if someone with a last name like “SchrÖdinger” tried to sign up into your system.

Make sure your database and tables are set to use Unicode (many builds of MySQL still use latin1 by default). And also remember that json_encode() converts non-ASCII symbols (e.g., “SchrÖdinger” becomes “Schr\u00f6dinger”) but serialize() does not.