I'm using the following template with calibre for the author field:
Code:
{author_sort:'re(list_re(list_re($, "&", ",", ";"), "&", " ", "_"), "&", ", ")'}
except that instead of "_" I write a non-breaking space and instead of ";" a
single low-9 quotation mark. This transforms the ampersand-separated author list of calibre into a comma-separated list, replaces the comma in the "Last name, First name" items with something that looks the same, and attempts to prevent the Kobo from splitting the names. Unfortunately it looks like the non-breaking space trick does not work any more and the Kobo will still split the names... but I can always sort by "first name", which as far as the Kobo believes, it's actually the real last name. I guess I could replace the spaces with an actual "_" and bear with those in the display.
I have this template in a plugboard that I use to "update metadata on the device" with the Kobo Utilities plugin, so the epub files are not changed, it's only the database that gets modified. I do similarly with the titles:
Code:
{title_sort:'re($, ' ', '_')'}