Ruby on rails 向rails对象添加特殊字符的延迟作业

Ruby on rails 向rails对象添加特殊字符的延迟作业,ruby-on-rails,heroku,character-encoding,delayed-job,Ruby On Rails,Heroku,Character Encoding,Delayed Job,我将延迟的作业任务排队,该任务将对象json表示保存到s3。该对象的属性之一是版权信息,其中包括版权符号。版权符号在数据库中显示良好,如果我在控制器中“放入object.copyright\u info”,但当我在延迟作业文件中“放入object.copyright\u info”时,它添加了特殊字符 Controller def create_json puts @object.copyright_info #copy right symbol appears correctly - "

我将延迟的作业任务排队,该任务将对象json表示保存到s3。该对象的属性之一是版权信息,其中包括版权符号。版权符号在数据库中显示良好,如果我在控制器中“放入object.copyright\u info”,但当我在延迟作业文件中“放入object.copyright\u info”时,它添加了特殊字符

Controller

def create_json
  puts @object.copyright_info #copy right symbol appears correctly - "Copyright ©"
  Delayed::Job.enqueue SaveS3Json.new(@object)
end
保存json文件:

class SaveS3Json < Struct.new(:object)
  # encoding: utf-8

  def perform
    puts object.copyright_info #outputs "Copyright ©"
    # calls object.to_json and writes json file to s3
 end
class SaveS3Json
我用ruby-1.9.2-p32和Postgresql在Heroku上运行。当我在本地执行相同的任务时,似乎不会添加特殊字符


有什么想法吗?

我通过简单地将对象ID而不是完整的对象传递给Struct.new()类解决了我的问题。一旦我在SaveS3Json类中获得了ID,我就简单地执行了一个普通的activerecord.find(ID)操作,并且检索对象时没有添加任何特殊字符

谢谢