UCA collations compare:
- all broken mbminlen units as having weight 0xFFFF
- all non-BMP characters that have no weight in the weight table for the current collation as having weight 0xFFFD
This is different from the other collations, which take into account byte values when comparing broken byte sequences. For example, strnncollsp(0xFE, 0xFF) for utf8_general_ci returns -1, because the broken byte value (0xFE) in the left operand is smaller than the broken byte value (0xFF) in the right operand.
UCA collations, for consistency purposes, should perhaps be fixed to compare different broken bytes as non-equal, like the other collations do.