乌克兰的信件分类很差

bwleehnv  于 2022-10-03  发布在  Mysql
关注(0)|答案(2)|浏览(108)

问题是,在使用order_by()时,乌克兰语字母的字母顺序不正确,即在“а”,“б”之前放置“і”和“є”。

bbuxkriu

bbuxkriu1#

您可以通过以下方式更改表中所有列的排序规则:

ALTER TABLE <mytable> CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

不存在在一次操作中更改所有表的语句。你必须一次做一张table。

q3qa4bjr

q3qa4bjr2#

将列编码更改为utf8mb4_unicode_ci对我很有帮助。PS.无法更改整个数据库或表的编码。只有这一栏。

但后来发现,这对我来说是不够的。我需要对包含字母和数字的地址进行排序。最后,我能够使用Natsort以我需要的方式完成它

from natsort import humansorted
import locale

locale.setlocale(locale.LC_ALL, 'uk_UA.UTF-8')
objects = humansorted(objec, key=lambda p: p.address)

相关问题