Assume utf8mb4 support
Summary:
Ref T1191. This stops throwing an exception for non-BMP data when constructing queries.
- For installs which have already adjusted, this allows emoji and other 4-byte characters to work.
- For installs which have not adjusted yet but do have STRICT_ALL_TABLES set, MySQL will raise an error intead ("Incorrect string value...").
- For installs which have not adjusted and also do not use STRICT_ALL_TABLES, this will silently truncate data. This is potentially a security risk. However, these installs are warned about the risk of leaving STRICT_ALL_TABLES disabled, there's no known way to exploit this issue, and they'll be auto-adjusted soon.
Test Plan: Ran locally and on secure.phabricator.com with this patch for a long time.
Reviewers: btrahan
Reviewed By: btrahan
Subscribers: epriestley
Maniphest Tasks: T1191
Differential Revision: https://secure.phabricator.com/D10798