Forum: Ruby on Rails Removing string's accents

Announcement (2017-05-07): is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see and for other Rails- und Ruby-related community platforms.
Bob M. (Guest)
on 2008-12-08 13:53
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 ?

Chris G. (Guest)
on 2009-02-20 11:32
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: 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!


Chris G. (Guest)
on 2009-02-20 12:24
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 :)

Good luck,

Sazima (Guest)
on 2009-02-20 17:01
(Received via mailing list)

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 <removed_email_address@domain.invalid>
Chris G. (Guest)
on 2009-02-20 17:40
> 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.


This topic is locked and can not be replied to.