Search

I have a list of songs, which have english and cyrillic names. When sorting by name, mysql puts english names before cyrillic, and I need cyrillic to be before english. I created to data source, "Songs cyrillic" and "Songs english", in "Songs cyrillic" I use filter "regexp:^[?-?]" and in english I use "regexp:^[a-z]".

The weird thing is that cyrillic filter works fine, but english filter still select all the cyrillic names. The weirdest thing is that if I change english filter to "regexp:^[AB]" or "regexp:^(A|B)", english songs starting with A and B are selected, but cyrillic songs starting with ? and ? (cyrillic equivalent of latin B) are selected as well, same for the rest letters of the alphabet.

This not mysql behavour, so I'm shure it's Symphony. How can I get this to work as I would expect?

Hi not sure; but if you have different songs from different types; I would use a field to group them.

Eg if you have a field Song Type; and values of cyrillic or english then I would create a datasource which

  • filters on this type
  • or otherwise groups with this type

This way you can have a sorted list with English & Cyrillic in different groups so you can show which one you want first.

Create an account or sign in to comment.

Symphony • Open Source XSLT CMS

Server Requirements

  • PHP 5.3-5.6 or 7.0-7.3
  • PHP's LibXML module, with the XSLT extension enabled (--with-xsl)
  • MySQL 5.5 or above
  • An Apache or Litespeed webserver
  • Apache's mod_rewrite module or equivalent

Compatible Hosts

Sign in

Login details