Cela fait bientôt un an… J’ai été occupé à faire de la gestion de
projets, mais me re-voici avec le même problème :
Cette fois, j’ai fait la substitution dans irb et elle fonctionne :
C:\Users\Christophe>irb
irb(main):001:0> str = “éthanol”
=> “\202thanol”
irb(main):002:0> str.gsub(‘é’, ‘e’)
=> “ethanol”
Quelqu’un peut-il m’expliquer pourquoi ça ne fonctionne pas dans la
méthode de Fred ci-dessous ? Comme je l’ai indiqué plus haut, mon
fichier source est bien encodé en UTF-8.
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)
end
end
return str
end
J’ai également essayé la méthode escape( str ) de Thibaud (au-dessus),
mais l’exécution de l’application semble s’interrompre (je n’ai sûrement
pas su m’en servir…).
Merci,
Christophe.