l'upcase d'accent c'est possible avec ActiveSupport
Alors que sur IRC quelqu'un demande, comment faire un upcase sur des accents et conserver ces accents en majuscule, je lui répond que ce n'est pas possible car Ruby 1.8 ne supporte pas l'UTF8.
Je propose donc une solution peu élégante. Lister chaque éléments qui soient considéré comme non modifié par upcase et faire une liste de gsub comme ceci
irb(main):002:0> puts "aéèb".gsub("é", "É").gsub("è", "È").upcase AÉÈB => nil
C'est alors que Farzy nous fournit un bout de code qui évite mon code peu pratique et surtout fonctionne avec tous les caractères unicode.
% irb >> $KCODE = 'u' => "u" >> "éè".upcase => "éè" >> require 'activesupport' => true >> "éè".chars.upcase.to_s => "ÉÈ" >> RUBY_VERSION => "1.8.5" >>
Il faut effectivement utiliser la librairie ActiveSupport qui fournit un support UTF8, mais cela fonctionne parfaitement. Merci à lui pour cet petite astuce.
[...]