2011-07-11 48 views
6

我正在使用Ruby 1.8。看起來downcase不會改變非拉丁字符。例如:如何讓Ruby 1.8使用非拉丁字符?

"Δ".downcase 

回報"Δ"

我知道,在1.9.1及以後,我可以使用Unicode Utilsfrom here)。我已經嘗試過了,它工作正常。前面的例子返回"δ"

對於1.8 Ruby有沒有相當的(或任何)解決方案?

回答

3
[email protected]:~$ ruby -v 
ruby 1.8.7 (2011-02-18 patchlevel 334) [i686-linux] 

gem install unicodehttps://rubygems.org/gems/unicode

require 'unicode' 

$KCODE = 'u' 
p Unicode::downcase "Δ" #=> "δ" 
+0

非常感謝。它似乎在工作。你是否在生產應用程序中嘗試過?你有什麼經驗?另一個問題可能不適用。這個庫的文檔說函數的參數必須是UTF-8字符串。默認情況下是否使用紅寶石1.8字符串UTF-8? –