如何在Ruby中添加UTF-8支持(包括ł字符,而不影响可移植性)?

时间:2017-05-24 04:59:18

标签: ruby sorting utf-8 portability

Ruby字符串函数不支持UTF-8。

例如['l', 'ł', 'm'].sort返回["l", "m", "ł"]而不是["l", "ł", "m"]

如何在Ruby中对UTF-8字符串进行排序?

Sorting UTF-8 strings in RoR - 已接受的答案不支持Ê字符(issue open since 2015,被PR waiting opened in 2014阻止),等待2017-10-08未加入。

ffi-icu answer适用于安装了libicu的系统,AFAIK不是真正可移植的。

1 个答案:

答案 0 :(得分:1)

好的解决方案是使用gem https://github.com/twitter/twitter-cldr-rb

require 'twitter_cldr'
collator = TwitterCldr::Collation::Collator.new
collator.sort(['m', 'ł', 'l'])
=> ["l", "ł", "m"]