MySql tables require encoding that supports the Ukrainian language and is case insensitive. So far, I have used utf8_unicode_ci encoding. But there was a problem: the letters "і" and "ї" are recognized equally. Therefore, for example, the words “izhak” and “izhak” are indistinguishable and, when searching for one of the words, the second one is also issued.

I tried to use utf8_unicode_520_ci encoding, but then “g” and “ґ” become identical for comparison.

I tried to change the encoding for Cyrillic suggested by Oracle , but they do not support the stress mark ("́").

The binary option is not suitable because case insensitivity is required.

I would appreciate any ideas that will help in the decision.

  • Alternatively, you can use utf8_bin and look for lower() both lines. Of course, most likely you will have to pay with other useful character conversions. If speed is critical, then you can create a GENERATED field with an index. I did not find an adequate way to create my collate with all sorts of goodies. - Fat-Zer

0