2017-08-08 3 views
1

J'utilise Rails 5 pour afficher le contenu d'une base de données dans un navigateur Web.Rails - convertir des caractères ascii en caractères

Dans la base de données, tous les caractères spéciaux sont écrits sous leur forme ASCII. Par exemple, au lieu d'une apostrophe, il est écrit '.

Ainsi, ma vue montre le code ASCII. Y a-t-il un moyen de les convertir tous en caractères pour la vue?

Répondre

0

Sur la base de votre exemple est ici une solution simple Ruby si vous voulez définir votre propre aide

39.chr # => "'" 
'''.delete('&#;').to_i.chr # => "'" 

module ApplicationHelper 
    def ascii_to_char(ascii) 
    ascii.delete('&#;').to_i.chr 
    end 
end 

# in the views 
ascii_to_char(''') # => "'" 

Si ce que vous avez vraiment besoin est plein HTML échapper à la réponse de voir @ forsym

3

pour transformer toute chaîne contenant entités de caractères HTML, en utilisant Rails:

CGI.unescape_html "It doesn't look right" # => "It doesn't look right" 

le module CGI est dans la bibliothèque standard Ruby et Rails est requis par par défaut. Si vous voulez faire la même chose dans un projet non-Rails:

require 'cgi' 
CGI.unescape_html "It doesn't look right" 
0

caractères ont été alimentés par une conversion « entités html » avant de les stocker dans la base de données. Revenez en arrière une solution qui.