2 votes

Comment puis-je obtenir les caractères non-utf8 équivalents à partir d'une chaîne utf8 ?

Ruby 1.8.6, rails 2.3.8

Je fais quelques essais pour écrire des méthodes pour une classe, et ça marche bien (première fois que je joue avec la métaprogrammation :p), sauf que certaines chaînes de caractères qui doivent aller dans les méthodes (en tant que code, et non pas en tant que chaînes de caractères) ont des caractères accentués et etc....

par exemple, j'ai besoin d'obtenir "restricao" à partir de la chaîne "restrição", comment puis-je le faire, s'il vous plaît ?

2voto

Mirko Points 2719

Vérifiez Unidecode Un bijou !

"restrição".to_ascii #=> "restricao"

0voto

Tonttu Points 1313

Utilisez Iconv avec TRANSLIT-feature, par exemple :

require 'iconv'
Iconv.conv("ASCII//TRANSLIT", "UTF-8", "restrição") == "restricao"

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X