有趣的是,Postgres 在这里也会失败:
[2] pry(main)> DB.query_single('select lower(?)', 'ΣΠΥΡΟΣ')
=> ["σπυροσ"]
或许我们应该在 Discourse 内部处理计算 username_lower 的方法中,专门针对这种特殊情况做处理?
找出所有调用 username_lower 的方法,将它们重定向到一个中央函数,然后在此处允许这种特殊情况(我想,如果需要的话,我们可以在这里使用 mini_racer 调用,或者简单地调用 .lower,然后使用 sub 调用进行修正)。
在此处更新原帖标题,使其更清晰。