Назад | Перейти на главную страницу

Google Cloud SQL. Сортировка на тайском языке в mysql

У нас есть приложение, в котором мы используем Google Cloud SQL (mysql) в качестве сервера базы данных. Базы данных находятся в сопоставлении: utf8mb4_unicode_520_ci Пользователь приложения из Таиланда сообщил, что их контент отображается в неправильном порядке и продемонстрировал: Неправильная алфавитная сортировка на тайском языке

Они также предложили следующее:

измените 'Collate' нашей базы данных с 'utf8mb4_unicode_520_ci' или любого другого на 'utf8mb4_thai_520_w2', который уже доступен в Maria DB 10.1.15 или более поздней версии

У нас разные базы данных для каждого экземпляра. Каждая база данных должна хорошо работать на определенном языке, поэтому не будет проблемой, если мы изменим параметры сортировки их базы данных.

Но я не вижу этого (или любого другого связанного с тайским языком) сопоставления, доступного в MySQL внутри cloudSQL.

Кто-нибудь знает: a) Подойдет ли какое-либо другое доступное сопоставление? б) Как можно было перейти на другую версию mysql, которая поддерживает эту (или любую другую, хорошо работающую в тайской) сортировку?

Спасибо

a) Вопрос о приемлемых сопоставлениях должен быть адресован людям, свободно владеющим языком и вашими бизнес-требованиями. Ожидания относительно порядка языков чрезвычайно зависят от региона.

Поинтересуйтесь, что конкретно в запрашиваемой локали лучше, чем у языков, основанных на алгоритме сортировки Unicode.

б) GCP Cloud SQL в настоящее время находится на версии MySQL 5.7. Более поздние разработки MariaDB недоступны. Либо выберите что-то доступное в SHOW COLLATION или подумайте о переносе другой базы данных.

Последнее может стать серьезной проблемой при переносе. Особенно, если GCP PostgreSQL также не соответствует вашим потребностям, и этот сервис не может правильно отсортировать ваши данные. Вы можете запустить MariaDB в своей собственной инфраструктуре, но это изменит ваши операции.