表情符号表情符号还是表情符号表情符号?

时间:2014-02-25 15:28:56

标签: mysql ruby-on-rails encoding utf-8 emoji

我终于找到了一种方法来克服我的Rails 4应用程序中用户输入中的emojis问题。它导致了不正确的字符串值'错误。

解决方案是将utf8mb4(使用MySQL)设置为不仅在DB编码*校对中,而且在database.yml中。

所以现在它有效。但问题是渲染在浏览器中并不像往常一样:)并且感觉我再也无法控制用户输入了。

在保存记录并将其存储在数据库中之前,是否有一种简单的方法可以从用户输入中删除4字节字符或表情符号?

谢谢!

2 个答案:

答案 0 :(得分: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

答案 1 :(得分:-1)

我在这里找到了另外一个表情符号解决方案:https://dev.firmafon.dk/blog/quick-no-hack-emoji-support-with-mysql-rails/

class Rating < ActiveRecord::Base
  serialize :comment
end
相关问题