Languages

Changing alphabet order

Changing alphabet order

We are running a largely English version of Moodle in an environment where most users are Turkish. This creates the problem that class rosters etc. come out with names in the wrong order because of the extra characters in the Turkish alphabet (ç, ğ, ı, ö, ş, ü), which just get treated as variants of the English character. For example, the surname Çakır will come before Cem, when it should come after. Adding Turkish characters to the alphabet settings in the lang file adds them to the search filters but doesn't change the way the alphabet is sorted. Does anyone know how this is handled in language settings?

Average of ratings: -
Re: Changing alphabet order

I do not think this can be changed via language settings. IIRC, the alphabet string is used mostly for reports to limit users whose firstname / lastname starts with certain letter.

Sorting is generally left on the database (via the ORDER BY statement) which in turn is affected by the defined collation. If you are on MySQL, please refer to http://dev.mysql.com/doc/mysql/en/charset-mysql.html

Average of ratings: -
Re: Changing alphabet order

Thanks for the quick reply! This does indeed appear to be the case, and that would be a serious bug. When I change the language of a course or even the whole site to Turkish, the collation remains English; i.e., the problem of Ç being treated as the same letter as C remains.

Average of ratings: -
Re: Changing alphabet order

The problem of database sort order is a nasty one, and would take a lot of work to fix. I wrote a summary of the problem here: https://docs.moodle.org/dev/Database_collation_issue

Average of ratings: Useful (1)
Re: Changing alphabet order

Thanks for posting this!

Average of ratings: -