diff --git a/frappe/database/mariadb/database.py b/frappe/database/mariadb/database.py index b39e9aaad0..3f4e555697 100644 --- a/frappe/database/mariadb/database.py +++ b/frappe/database/mariadb/database.py @@ -120,6 +120,7 @@ class MariaDBConnectionUtil: "user": self.user, "conv": self.CONVERSION_MAP, "charset": "utf8mb4", + "collation": "utf8mb4_unicode_ci", "use_unicode": True, } @@ -319,7 +320,7 @@ class MariaDBDatabase(MariaDBConnectionUtil, MariaDBExceptionUtil, Database): `doctype` VARCHAR(180) NOT NULL, `data` TEXT, UNIQUE(user, doctype) - ) ENGINE=InnoDB DEFAULT CHARSET=utf8""" + ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci""" ) @staticmethod diff --git a/frappe/patches.txt b/frappe/patches.txt index b3d42a656d..afb83ffeea 100644 --- a/frappe/patches.txt +++ b/frappe/patches.txt @@ -243,3 +243,4 @@ frappe.patches.v16_0.add_app_launcher_in_navbar_settings frappe.desk.doctype.workspace.patches.update_app frappe.patches.v16_0.move_role_desk_settings_to_user frappe.printing.doctype.print_format.patches.sets_wkhtmltopdf_as_default_for_pdf_generator_field +frappe.patches.v14_0.fix_user_settings_collation diff --git a/frappe/patches/v14_0/fix_user_settings_collation.py b/frappe/patches/v14_0/fix_user_settings_collation.py new file mode 100644 index 0000000000..9fc2e94bc4 --- /dev/null +++ b/frappe/patches/v14_0/fix_user_settings_collation.py @@ -0,0 +1,5 @@ +import frappe + + +def execute(): + frappe.db.sql("ALTER TABLE __UserSettings CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;")