我使用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實體」轉換餵養。回去修復。