我使用Rails 5在Web浏览器中显示数据库内容。Rails - 将ascii转换为字符
在db中,所有的特殊字符都是以ascii的形式写入的。例如,而不是一个撇号,它被写为'
。
因此,我的看法是显示ascii代码。有没有办法将它们全部转换为视图的字符?
我使用Rails 5在Web浏览器中显示数据库内容。Rails - 将ascii转换为字符
在db中,所有的特殊字符都是以ascii的形式写入的。例如,而不是一个撇号,它被写为'
。
因此,我的看法是显示ascii代码。有没有办法将它们全部转换为视图的字符?
基于这里的例子是一个简单的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的回答
要转换的任意字符串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"
字符被存储到数据库之前,通过一些“HTML实体”转换喂养。回去修复。