2017-08-08 90 views
1

我使用Rails 5在Web浏览器中显示数据库内容。Rails - 将ascii转换为字符

在db中,所有的特殊字符都是以ascii的形式写入的。例如,而不是一个撇号,它被写为'

因此,我的看法是显示ascii代码。有没有办法将它们全部转换为视图的字符?

回答

0

基于这里的例子是一个简单的Ruby的解决方案,如果你想定义自己的帮手

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(''') # => "'" 

如果你真正需要的是完整的HTML转义看到@ forsym的回答

3

要转换的任意字符串HTML字符实体,使用Rails:

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

CGI模块在Ruby标准库,并通过Rails的要求默认。如果你想要做同样在非Rails项目:

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

字符被存储到数据库之前,通过一些“HTML实体”转换喂养。回去修复。