Fix handling of four byte utf8 manifests
- Adds the charset: utf-8 to all the manifest responses - Makes sure we connect to MySQL in utf8mb4 mode, to ensure we can properly read and write 4-byte utf8 strings - Adds tests for all of the above
This commit is contained in:
parent
62609fce3e
commit
eb9ca8e8a8
8 changed files with 120 additions and 11 deletions
|
@ -83,6 +83,7 @@ def _init_db_path_sqlite(tmpdir_factory):
|
|||
initialize_database()
|
||||
|
||||
db.obj.execute_sql('PRAGMA foreign_keys = ON;')
|
||||
db.obj.execute_sql('PRAGMA encoding="UTF-8";')
|
||||
|
||||
populate_database()
|
||||
close_db_filter(None)
|
||||
|
@ -157,7 +158,9 @@ def initialized_db(appconfig):
|
|||
if not under_test_real_database:
|
||||
# Make absolutely sure foreign key constraints are on.
|
||||
db.obj.execute_sql('PRAGMA foreign_keys = ON;')
|
||||
db.obj.execute_sql('PRAGMA encoding="UTF-8";')
|
||||
assert db.obj.execute_sql('PRAGMA foreign_keys;').fetchone()[0] == 1
|
||||
assert db.obj.execute_sql('PRAGMA encoding;').fetchone()[0] == 'UTF-8'
|
||||
|
||||
# If under a test *real* database, setup a savepoint.
|
||||
if under_test_real_database:
|
||||
|
|
Reference in a new issue