Ruby字符串函數不支持UTF-8。例如['l', 'ł', 'm'].sort
返回["l", "m", "ł"]
而不是["l", "ł", "m"]
。如何添加UTF-8支持在Ruby中進行排序(包括字符在不影響可移植性的情況下)?
如何應該在Ruby中UTF-8字符串排序?
Sorting UTF-8 strings in RoR - 接受的答案不支持GB字符(issue open since 2015,被PR waiting opened in 2014屏蔽),等待2017-10-08未上傳。
ffi-icu answer作品有libicu系統安裝是什麼AFAIK沒有真正便攜。
我知道沒有好的解決辦法的保存['unicode'(https://github.com/blackwinter/unicode)寶石。 – mudasobwa
@mudasobwa在我的測試中失敗了'需要 「統一」 放[ 'L', 'L', 'M']排序{| A,B | Unicode :: strcmp(a,b)} puts ['l','ł','m']。sort {| a,b | Unicode :: strcmp_compat(a,b)}'(基於來自https://github.com/blackwinter/unicode的文檔) –