2014-02-25 105 views
0

我終於找到了解決我的Rails 4應用程序中用戶輸入中的emojis問題的方法。它導致'錯誤的字符串值'錯誤。以表情符號或不表情符號?

解決方案是設置utf8mb4(使用MySQL)不僅在數據庫編碼*排序,而且在database.yml。

所以現在它的工作。但問題是整個瀏覽器的渲染效果並不一致:)感覺就像我無法控制用戶輸入一樣。

在保存記錄並將它們存儲在數據庫中之前,是否有一種簡單的方法可以從用戶的輸入中去掉4個字節的字符或可能只是表情符號?

謝謝!

回答

0

您可以覆蓋模型中的屬性設置器,以便在存儲之前對值執行任何操作。然後,從this stack overflow post借貸正則表達式(!希看我),嘗試:

# Do this for each attribute in your model: 
def my_attr=(value) 
    value = value.to_s.gsub(/\360\237/, '') 
    super(value.presence) 
end