当我在 MySQL 中进行 REGEXP 比较时,对于瑞典字符的大写版本,我得到了一些奇怪的结果。我正在使用 utf8_swedish_ci 排序规则,我想找到大写的单词。
SELECT 'Öster' REGEXP BINARY '^[A-ZÅÄÖ][a-zåäö]+$'
应该返回 1 并且SELECT 'öster' REGEXP BINARY '^[A-ZÅÄÖ][a-zåäö]+$'
应该返回 0,但我得到相反的结果。
SELECT 'Öster' REGEXP BINARY '^[A-ZÅÄÖ][a-zåäö]+$' # returns 0 (incorrect)
SELECT 'öster' REGEXP BINARY '^[A-ZÅÄÖ][a-zåäö]+$' # returns 1 (incorrect)
SELECT 'Söder' REGEXP BINARY '^[A-ZÅÄÖ][a-zåäö]+$' # returns 1 (correct)
SELECT 'söder' REGEXP BINARY '^[A-ZÅÄÖ][a-zåäö]+$' # returns 0 (correct)
如果我使用 REGEXP 而不是 REGEXP BINARY,'söder' 也会匹配(这不是我想要的),但即便如此,'Öster' 也不是匹配的。
我该怎么办?