Search code examples
ruby-on-railsrubystringruby-on-rails-3lowercase

Rails: How to downcase non-English string?


How could I downcase a non-English string in Ruby on Rails 3 ?

str = "Привет"    # Russian 
puts str[0].ord   # => 1055
str.downcase!
puts str[0].ord   # => 1055 (Should be 1087)

I want it to work in Ruby 1.8.7 as well as Ruby 1.9.2.


Solution

  • str = "Привет"
    str.mb_chars.downcase.to_s
    #=> "привет"