2017-08-08 118 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實體」轉換餵養。回去修復。