我们有一个应用程序,其中使用 Google Cloud SQL (mysql) 作为数据库服务器。数据库的排序规则为:utf8mb4_unicode_520_ci 来自泰国的应用程序用户报告其内容的顺序错误,并演示了: 泰语字母排序错误
他们还建议这样:
将数据库的“Collate”从“utf8mb4_unicode_520_ci”或其他内容修改为“utf8mb4_thai_520_w2”,该版本已在 Maria DB 10.1.15 或更高版本中可用
每个实例都有不同的数据库。每个数据库都需要在特定语言下正常工作,因此如果我们更改其数据库的排序规则,则不会有问题。
但是,我没有在 cloudSQL 中的 MySQL 中看到此排序规则(或任何其他与泰语相关的排序规则)。
有谁知道:a) 是否有任何其他可用的排序规则可以解决问题?b) 如何转到支持此排序规则(或任何其他在泰语中运行良好的排序规则)的不同版本的 mysql?
谢谢
答案1
a) 可接受排序规则的问题必须针对精通该语言的人和您的业务需求。对语言顺序的期望是极其特定于地区的。
询问所请求的区域设置与基于 Unicode 排序算法的区域设置相比具体有哪些优势。
b)GCP Cloud SQL 目前为 MySQL 5.7。较新的 MariaDB 开发版本不可用。请选择可用的版本SHOW COLLATION
或考虑迁移到其他数据库。
后者可能是一项重大的移植工作。特别是如果 GCP PostgreSQL 也不能满足您的需求,并且此服务无法正确排序您的数据。您可以在自己的基础架构上运行 MariaDB,但这会改变您的操作。