Removing string's accents

Hi, I’m pretty sure to have seen a new method ‘remove_accents’ in Rails
2.2 but I can’t find it again. Is it me or does this method exists for
good ?


Hi Bob,

I don’t know about such a method, but I hope it exists. In the mean
time, I’ve tried one I found on this same forum (in French:
Remplacer les accents d'un enregistrement en utf8 - FR - Ruby-Forum). Unfortunately, it
doesn’t work when I run my application, but it works in irb! I suspect
it’s got to do with encoding…

def ApplicationHelper.remove_accents( str )

accents = { ['á','à ','â','ä','ã','Ã','Ä','Â','À'] => 'a',
            ['é','è','ê','ë','Ë','É','È','Ê'] => 'e',
            ['í','ì','î','ï','I','Î','Ì'] => 'i',
            ['ó','ò','ô','ö','õ','Õ','Ö','Ô','Ò'] => 'o',
            ['Å“'] => 'oe',
            ['ß'] => 'ss',
            ['ú','ù','û','ü','U','Û','Ù'] => 'u'
accents.each do |ac,rep|
  ac.each do |s|
    str.gsub!(s, rep)
return str


I tried setting $KCODE=“UTF-8” or $KCODE=“ISO-8859-1” at the top of my
source code, as suggested by cwilliams (creator of RadRails:, but that doesn’t
solve my problem. If you get this working in a real application, please
let me know; I’m getting desparate!



Here’s another solution:

Unfortunately, I still have the same encoding problems, but hopefully
it’ll work for you. And don’t hesitate to get back to me if you think
you know what I’m doing wrong :slight_smile:

Good luck,



Rails doesn’t have a specific method to remove diacritics. There are a
couple alternatives - I used the 1st one and it works really great:


Cheers, Sazima

On Feb 20, 7:24 am, Chris Gers32 [email protected]

I used the 1st one and it works really great:


I tried that, but I get the following error message:

NameError: uninitialized constant ActiveSupport::Multibyte::Handlers

I have Ruby 1.8.6 and Rails 2.2.2.