"sort" function incorrect sorting russian words with ё letter
There are 33 letters in the Russian alphabet. I made a list of 33 words in random order. Then I try to sort it:
(deffunction string> (?a ?b)
(> (str-compare ?a ?b) 0)
)
(defrule main =>
(bind ?list (create$ гора цапля дом еда ёжик игра соль йод кошка лось мост ворона номер арбуз опера пульс радуга тополь урок флот ходули шуба банан щука ь чаша ы ъ экран юрта зима якорь жизнь))
(printout t "original list: " ?list crlf)
(bind ?list (sort string> ?list))
(printout t "sorted list: " ?list crlf)
)
(reset)
(run)
(exit)
After sorting, I get an incorrect result:
~/dst/clips/clips_core_source/clips_core_source_642/clips_642 -f2 sort-small.bat
original list: (гора цапля дом еда ёжик игра соль йод кошка лось мост ворона номер арбуз опера пульс радуга тополь урок флот ходули шуба банан щука ь чаша ы ъ экран юрта зима якорь жизнь)
sorted list: (арбуз банан ворона гора дом еда жизнь зима игра йод кошка лось мост номер опера пульс радуга соль тополь урок флот ходули цапля чаша шуба щука ъ ы ь экран юрта якорь ёжик)
Sorted list should look like this:
sorted list: (арбуз банан ворона гора дом еда ёжик жизнь зима игра йод кошка лось мост номер опера пульс радуга соль тополь урок флот ходули цапля чаша шуба щука ъ ы ь экран юрта якорь)
; ^^^^
Because the letter ё is the seventh letter in the Russian alphabet, not the last.
How can I sort with the correct order?